TPTP Problem File: ITP172^1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP172^1 : TPTP v8.2.0. Released v7.5.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer ShadowRootMonad problem prob_623__5857930_1
% Version  : Especial.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source   : [Des21]
% Names    : ShadowRootMonad/prob_623__5857930_1 [Des21]

% Status   : Theorem
% Rating   : 0.20 v8.2.0, 0.31 v8.1.0, 0.18 v7.5.0
% Syntax   : Number of formulae    :  475 ( 219 unt; 132 typ;   0 def)
%            Number of atoms       :  716 ( 702 equ;   0 cnn)
%            Maximal formula atoms :    7 (   2 avg)
%            Number of connectives : 2795 ( 147   ~;  12   |;  51   &;2133   @)
%                                         (   0 <=>; 452  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   29 (   6 avg)
%            Number of types       :   26 (  25 usr)
%            Number of type conns  :  402 ( 402   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  108 ( 107 usr;  16 con; 0-5 aty)
%            Number of variables   : 1120 (  18   ^;1075   !;  27   ?;1120   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Sledgehammer 2021-02-23 15:33:17.461
%------------------------------------------------------------------------------
% Could-be-implicit typings (25)
thf(ty_n_t__ObjectClass__Oheap_It__Sum____Type__Osum_It__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J_Mt__Sum____Type__Osum_It__DocumentPointer__Odocument____ptr_It__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J_J_Mtf__f_J_J_Mt__Sum____Type__Osum_It__NodeClass__ORNode__ORNode____ext_It__Sum____Type__Osum_It__ElementClass__ORElement__ORElement____ext_Itf__c_Mtf__a_Mtf__b_Mtf__d_Mt__Option__Ooption_Itf__g_J_J_Mt__Sum____Type__Osum_It__CharacterDataClass__ORCharacterData__ORCharacterData____ext_It__Option__Ooption_Itf__h_J_J_Mtf__i_J_J_J_Mt__Sum____Type__Osum_It__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J_Mtf__l_J_J_J,type,
    heap_S1465075775_j_k_l: $tType ).

thf(ty_n_t__Option__Ooption_It__ObjectClass__ORObject__ORObject____ext_It__Sum____Type__Osum_It__NodeClass__ORNode__ORNode____ext_It__Sum____Type__Osum_It__ElementClass__ORElement__ORElement____ext_Itf__c_Mtf__a_Mtf__b_Mtf__d_Mt__Option__Ooption_Itf__g_J_J_Mt__Sum____Type__Osum_It__CharacterDataClass__ORCharacterData__ORCharacterData____ext_It__Option__Ooption_Itf__h_J_J_Mtf__i_J_J_J_Mt__Sum____Type__Osum_It__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J_Mtf__l_J_J_J_J,type,
    option1749760295_j_k_l: $tType ).

thf(ty_n_t__ObjectClass__ORObject__ORObject____ext_It__Sum____Type__Osum_It__NodeClass__ORNode__ORNode____ext_It__Sum____Type__Osum_It__ElementClass__ORElement__ORElement____ext_Itf__c_Mtf__a_Mtf__b_Mtf__d_Mt__Option__Ooption_Itf__g_J_J_Mt__Sum____Type__Osum_It__CharacterDataClass__ORCharacterData__ORCharacterData____ext_It__Option__Ooption_Itf__h_J_J_Mtf__i_J_J_J_Mt__Sum____Type__Osum_It__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J_Mtf__l_J_J_J,type,
    rObjec1413572695_j_k_l: $tType ).

thf(ty_n_t__ObjectPointer__Oobject____ptr_It__Sum____Type__Osum_It__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J_Mt__Sum____Type__Osum_It__DocumentPointer__Odocument____ptr_It__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J_J_Mtf__f_J_J_J,type,
    object945351580_d_e_f: $tType ).

thf(ty_n_t__Option__Ooption_It__ObjectClass__ORObject__ORObject____ext_It__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J_J_J,type,
    option841825948on_j_k: $tType ).

thf(ty_n_t__ObjectClass__ORObject__ORObject____ext_It__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J_J,type,
    rObjec1617416918on_j_k: $tType ).

thf(ty_n_t__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J,type,
    rDocum326988203on_j_k: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J_J_J,type,
    list_l118626078tr_b_c: $tType ).

thf(ty_n_t__List__Olist_It__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J_J,type,
    list_n282880152tr_b_c: $tType ).

thf(ty_n_t__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J,type,
    node_p1234578834tr_b_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J,type,
    option2026120038on_j_k: $tType ).

thf(ty_n_t__Option__Ooption_It__DocumentPointer__Odocument____ptr_It__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J_J_J,type,
    option1330818496tr_d_e: $tType ).

thf(ty_n_t__FSet__Ofset_It__DocumentPointer__Odocument____ptr_It__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J_J_J,type,
    fset_d1663890464tr_d_e: $tType ).

thf(ty_n_t__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J,type,
    sum_su1221287958on_j_k: $tType ).

thf(ty_n_t__DocumentPointer__Odocument____ptr_It__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J_J,type,
    docume1935157360tr_d_e: $tType ).

thf(ty_n_t__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J,type,
    sum_su1576157353tr_d_e: $tType ).

thf(ty_n_t__ObjectClass__ORObject__ORObject____ext_It__Product____Type__Ounit_J,type,
    rObjec103300152t_unit: $tType ).

thf(ty_n_t__Option__Ooption_It__ElementPointer__Oelement____ptr_Itf__a_J_J,type,
    option_element_ptr_a: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__String__Ochar_J_J,type,
    list_list_char: $tType ).

thf(ty_n_t__ElementPointer__Oelement____ptr_Itf__a_J,type,
    element_ptr_a: $tType ).

thf(ty_n_t__List__Olist_It__String__Ochar_J,type,
    list_char: $tType ).

thf(ty_n_t__Set__Oset_It__Nat__Onat_J,type,
    set_nat: $tType ).

thf(ty_n_t__Product____Type__Ounit,type,
    product_unit: $tType ).

thf(ty_n_t__String__Ochar,type,
    char: $tType ).

thf(ty_n_t__Nat__Onat,type,
    nat: $tType ).

% Explicit typings (107)
thf(sy_c_DocumentClass_ORDocument_ORDocument__ext_001tf__a_001tf__b_001tf__c_001t__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J,type,
    rDocum427676485on_j_k: product_unit > list_char > option_element_ptr_a > list_n282880152tr_b_c > option2026120038on_j_k > rDocum326988203on_j_k ).

thf(sy_c_DocumentClass_ORDocument_Odisconnected__nodes_001tf__c_001tf__a_001tf__b_001t__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J,type,
    discon866287741on_j_k: rObjec1617416918on_j_k > list_n282880152tr_b_c ).

thf(sy_c_DocumentClass_ORDocument_Odisconnected__nodes__update_001tf__a_001tf__b_001tf__c_001t__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J,type,
    discon442323090on_j_k: ( list_n282880152tr_b_c > list_n282880152tr_b_c ) > rObjec1617416918on_j_k > rObjec1617416918on_j_k ).

thf(sy_c_DocumentClass_ORDocument_Odoctype_001tf__c_001tf__a_001tf__b_001t__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J,type,
    doctyp814403297on_j_k: rObjec1617416918on_j_k > list_char ).

thf(sy_c_DocumentClass_ORDocument_Odoctype__update_001tf__c_001tf__a_001tf__b_001t__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J,type,
    doctyp68000440on_j_k: ( list_char > list_char ) > rObjec1617416918on_j_k > rObjec1617416918on_j_k ).

thf(sy_c_DocumentClass_ORDocument_Odocument__element_001tf__c_001tf__a_001tf__b_001t__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J,type,
    docume1175131570on_j_k: rObjec1617416918on_j_k > option_element_ptr_a ).

thf(sy_c_DocumentClass_ORDocument_Odocument__element__update_001tf__a_001tf__c_001tf__b_001t__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J,type,
    docume244715269on_j_k: ( option_element_ptr_a > option_element_ptr_a ) > rObjec1617416918on_j_k > rObjec1617416918on_j_k ).

thf(sy_c_DocumentClass_ORDocument_Omore_001tf__c_001tf__a_001tf__b_001t__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J,type,
    more_c1453068134on_j_k: rObjec1617416918on_j_k > option2026120038on_j_k ).

thf(sy_c_DocumentClass_ORDocument_Omore__update_001t__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_001tf__c_001tf__a_001tf__b,type,
    more_u1044474223_c_a_b: ( option2026120038on_j_k > option2026120038on_j_k ) > rObjec1617416918on_j_k > rObjec1617416918on_j_k ).

thf(sy_c_DocumentClass_ORDocument_Onothing_001tf__c_001tf__a_001tf__b_001t__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J,type,
    nothin757132294on_j_k: rObjec1617416918on_j_k > product_unit ).

thf(sy_c_DocumentClass_ORDocument_Onothing__update_001tf__c_001tf__a_001tf__b_001t__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J,type,
    nothin1105341917on_j_k: ( product_unit > product_unit ) > rObjec1617416918on_j_k > rObjec1617416918on_j_k ).

thf(sy_c_DocumentClass_Ocast_092_060_094sub_062D_092_060_094sub_062o_092_060_094sub_062c_092_060_094sub_062u_092_060_094sub_062m_092_060_094sub_062e_092_060_094sub_062n_092_060_094sub_062t_092_060_094sub_0622_092_060_094sub_062O_092_060_094sub_062b_092_060_094sub_062j_092_060_094sub_062e_092_060_094sub_062c_092_060_094sub_062t_001tf__c_001tf__a_001tf__b_001t__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_001tf__d_001tf__g_001tf__h_001tf__i_001tf__l,type,
    cast_D1252964113_h_i_l: rObjec1617416918on_j_k > rObjec1413572695_j_k_l ).

thf(sy_c_DocumentClass_Ocast_092_060_094sub_062O_092_060_094sub_062b_092_060_094sub_062j_092_060_094sub_062e_092_060_094sub_062c_092_060_094sub_062t_092_060_094sub_0622_092_060_094sub_062D_092_060_094sub_062o_092_060_094sub_062c_092_060_094sub_062u_092_060_094sub_062m_092_060_094sub_062e_092_060_094sub_062n_092_060_094sub_062t_001tf__c_001tf__a_001tf__b_001tf__d_001tf__g_001tf__h_001tf__i_001t__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_001tf__l,type,
    cast_O1034441233_j_k_l: rObjec1413572695_j_k_l > option841825948on_j_k ).

thf(sy_c_DocumentClass_Odocument__ptrs_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001tf__f_001tf__g_001tf__h_001tf__i_001t__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_001tf__l,type,
    docume1070804385_j_k_l: heap_S1465075775_j_k_l > fset_d1663890464tr_d_e ).

thf(sy_c_DocumentClass_Oget_092_060_094sub_062D_092_060_094sub_062o_092_060_094sub_062c_092_060_094sub_062u_092_060_094sub_062m_092_060_094sub_062e_092_060_094sub_062n_092_060_094sub_062t_001tf__d_001tf__e_001tf__a_001tf__b_001tf__c_001tf__f_001tf__g_001tf__h_001tf__i_001t__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_001tf__l,type,
    get_D_1192261494_j_k_l: docume1935157360tr_d_e > heap_S1465075775_j_k_l > option841825948on_j_k ).

thf(sy_c_DocumentClass_Ois__document__kind_001tf__c_001tf__a_001tf__b_001tf__d_001tf__g_001tf__h_001tf__i_001t__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_001tf__l,type,
    is_doc1417632087_j_k_l: rObjec1413572695_j_k_l > $o ).

thf(sy_c_DocumentClass_Oput_092_060_094sub_062D_092_060_094sub_062o_092_060_094sub_062c_092_060_094sub_062u_092_060_094sub_062m_092_060_094sub_062e_092_060_094sub_062n_092_060_094sub_062t_001tf__d_001tf__e_001tf__c_001tf__a_001tf__b_001t__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_001tf__f_001tf__g_001tf__h_001tf__i_001tf__l,type,
    put_D_2126422573_h_i_l: docume1935157360tr_d_e > rObjec1617416918on_j_k > heap_S1465075775_j_k_l > heap_S1465075775_j_k_l ).

thf(sy_c_DocumentPointer_Ocast_092_060_094sub_062d_092_060_094sub_062o_092_060_094sub_062c_092_060_094sub_062u_092_060_094sub_062m_092_060_094sub_062e_092_060_094sub_062n_092_060_094sub_062t_092_060_094sub_062___092_060_094sub_062p_092_060_094sub_062t_092_060_094sub_062r_092_060_094sub_0622_092_060_094sub_062o_092_060_094sub_062b_092_060_094sub_062j_092_060_094sub_062e_092_060_094sub_062c_092_060_094sub_062t_092_060_094sub_062___092_060_094sub_062p_092_060_094sub_062t_092_060_094sub_062r_001t__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J_001tf__a_001tf__b_001tf__c_001tf__f,type,
    cast_d1608273229_b_c_f: docume1935157360tr_d_e > object945351580_d_e_f ).

thf(sy_c_DocumentPointer_Ocast_092_060_094sub_062o_092_060_094sub_062b_092_060_094sub_062j_092_060_094sub_062e_092_060_094sub_062c_092_060_094sub_062t_092_060_094sub_062___092_060_094sub_062p_092_060_094sub_062t_092_060_094sub_062r_092_060_094sub_0622_092_060_094sub_062d_092_060_094sub_062o_092_060_094sub_062c_092_060_094sub_062u_092_060_094sub_062m_092_060_094sub_062e_092_060_094sub_062n_092_060_094sub_062t_092_060_094sub_062___092_060_094sub_062p_092_060_094sub_062t_092_060_094sub_062r_001tf__a_001tf__b_001tf__c_001t__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J_001tf__f,type,
    cast_o761049241_d_e_f: object945351580_d_e_f > option1330818496tr_d_e ).

thf(sy_c_DocumentPointer_Odocument__ptr_OExt_001t__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J,type,
    docume1825929374tr_d_e: sum_su1576157353tr_d_e > docume1935157360tr_d_e ).

thf(sy_c_DocumentPointer_Odocument__ptr_ORef_001t__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J,type,
    docume1511108976tr_d_e: nat > docume1935157360tr_d_e ).

thf(sy_c_DocumentPointer_Odocument__ptr_Osize__document__ptr_001t__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J,type,
    docume1799427087tr_d_e: ( sum_su1576157353tr_d_e > nat ) > docume1935157360tr_d_e > nat ).

thf(sy_c_DocumentPointer_Ois__document__ptr_092_060_094sub_062d_092_060_094sub_062o_092_060_094sub_062c_092_060_094sub_062u_092_060_094sub_062m_092_060_094sub_062e_092_060_094sub_062n_092_060_094sub_062t_092_060_094sub_062___092_060_094sub_062p_092_060_094sub_062t_092_060_094sub_062r_001t__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J,type,
    is_doc2037328342tr_d_e: docume1935157360tr_d_e > $o ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Nat__Onat,type,
    plus_plus_nat: nat > nat > nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

thf(sy_c_List_Oappend_001t__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J,type,
    append846395565tr_b_c: list_n282880152tr_b_c > list_n282880152tr_b_c > list_n282880152tr_b_c ).

thf(sy_c_List_Oappend_001t__String__Ochar,type,
    append_char: list_char > list_char > list_char ).

thf(sy_c_List_Ocount__list_001t__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J,type,
    count_2128515342tr_b_c: list_n282880152tr_b_c > node_p1234578834tr_b_c > nat ).

thf(sy_c_List_Ocount__list_001t__String__Ochar,type,
    count_list_char: list_char > char > nat ).

thf(sy_c_List_Ogen__length_001t__List__Olist_It__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J_J,type,
    gen_le170886571tr_b_c: nat > list_l118626078tr_b_c > nat ).

thf(sy_c_List_Ogen__length_001t__List__Olist_It__String__Ochar_J,type,
    gen_length_list_char: nat > list_list_char > nat ).

thf(sy_c_List_Ogen__length_001t__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J,type,
    gen_le955068453tr_b_c: nat > list_n282880152tr_b_c > nat ).

thf(sy_c_List_Ogen__length_001t__String__Ochar,type,
    gen_length_char: nat > list_char > nat ).

thf(sy_c_List_Oinsert_001t__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J,type,
    insert678865070tr_b_c: node_p1234578834tr_b_c > list_n282880152tr_b_c > list_n282880152tr_b_c ).

thf(sy_c_List_Oinsert_001t__String__Ochar,type,
    insert_char: char > list_char > list_char ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J_J,type,
    cons_l1809994318tr_b_c: list_n282880152tr_b_c > list_l118626078tr_b_c > list_l118626078tr_b_c ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__String__Ochar_J,type,
    cons_list_char: list_char > list_list_char > list_list_char ).

thf(sy_c_List_Olist_OCons_001t__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J,type,
    cons_n413985352tr_b_c: node_p1234578834tr_b_c > list_n282880152tr_b_c > list_n282880152tr_b_c ).

thf(sy_c_List_Olist_OCons_001t__String__Ochar,type,
    cons_char: char > list_char > list_char ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_It__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J_J,type,
    nil_li198338206tr_b_c: list_l118626078tr_b_c ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_It__String__Ochar_J,type,
    nil_list_char: list_list_char ).

thf(sy_c_List_Olist_ONil_001t__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J,type,
    nil_no279930520tr_b_c: list_n282880152tr_b_c ).

thf(sy_c_List_Olist_ONil_001t__String__Ochar,type,
    nil_char: list_char ).

thf(sy_c_List_Olist__ex1_001t__List__Olist_It__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J_J,type,
    list_e529904353tr_b_c: ( list_n282880152tr_b_c > $o ) > list_l118626078tr_b_c > $o ).

thf(sy_c_List_Olist__ex1_001t__List__Olist_It__String__Ochar_J,type,
    list_ex1_list_char: ( list_char > $o ) > list_list_char > $o ).

thf(sy_c_List_Olist__ex1_001t__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J,type,
    list_e469495899tr_b_c: ( node_p1234578834tr_b_c > $o ) > list_n282880152tr_b_c > $o ).

thf(sy_c_List_Olist__ex1_001t__String__Ochar,type,
    list_ex1_char: ( char > $o ) > list_char > $o ).

thf(sy_c_List_On__lists_001t__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J,type,
    n_list1807568544tr_b_c: nat > list_n282880152tr_b_c > list_l118626078tr_b_c ).

thf(sy_c_List_On__lists_001t__String__Ochar,type,
    n_lists_char: nat > list_char > list_list_char ).

thf(sy_c_List_Onths_001t__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J,type,
    nths_n1256675478tr_b_c: list_n282880152tr_b_c > set_nat > list_n282880152tr_b_c ).

thf(sy_c_List_Onths_001t__String__Ochar,type,
    nths_char: list_char > set_nat > list_char ).

thf(sy_c_List_Oproduct__lists_001t__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J,type,
    produc1509350401tr_b_c: list_l118626078tr_b_c > list_l118626078tr_b_c ).

thf(sy_c_List_Oproduct__lists_001t__String__Ochar,type,
    product_lists_char: list_list_char > list_list_char ).

thf(sy_c_List_Osplice_001t__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J,type,
    splice1294941035tr_b_c: list_n282880152tr_b_c > list_n282880152tr_b_c > list_n282880152tr_b_c ).

thf(sy_c_List_Osplice_001t__String__Ochar,type,
    splice_char: list_char > list_char > list_char ).

thf(sy_c_List_Osubseqs_001t__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J,type,
    subseq1828679783tr_b_c: list_n282880152tr_b_c > list_l118626078tr_b_c ).

thf(sy_c_List_Osubseqs_001t__String__Ochar,type,
    subseqs_char: list_char > list_list_char ).

thf(sy_c_Nat_OSuc,type,
    suc: nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__DocumentPointer__Odocument____ptr_It__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J_J,type,
    size_s724035844tr_d_e: docume1935157360tr_d_e > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__List__Olist_It__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J_J_J,type,
    size_s9369994tr_b_c: list_l118626078tr_b_c > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__List__Olist_It__String__Ochar_J_J,type,
    size_s2008079621t_char: list_list_char > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J_J,type,
    size_s2106487044tr_b_c: list_n282880152tr_b_c > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__String__Ochar_J,type,
    size_size_list_char: list_char > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__Option__Ooption_It__ElementPointer__Oelement____ptr_Itf__a_J_J,type,
    size_s1129684517_ptr_a: option_element_ptr_a > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__Option__Ooption_It__ObjectClass__ORObject__ORObject____ext_It__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J_J_J,type,
    size_s7667464on_j_k: option841825948on_j_k > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J,type,
    size_s1129069050on_j_k: option2026120038on_j_k > nat ).

thf(sy_c_Nat__Bijection_Oset__decode,type,
    nat_set_decode: nat > set_nat ).

thf(sy_c_Nat__Bijection_Oset__encode,type,
    nat_set_encode: set_nat > nat ).

thf(sy_c_Nat__Bijection_Otriangle,type,
    nat_triangle: nat > nat ).

thf(sy_c_ObjectClass_ORObject_ORObject__ext_001t__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J,type,
    rObjec1303043984on_j_k: product_unit > rDocum326988203on_j_k > rObjec1617416918on_j_k ).

thf(sy_c_ObjectClass_ORObject_ORObject__ext_001t__Product____Type__Ounit,type,
    rObjec730108904t_unit: product_unit > product_unit > rObjec103300152t_unit ).

thf(sy_c_ObjectClass_ORObject_Oextend_001t__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J,type,
    extend1066431834on_j_k: rObjec103300152t_unit > rDocum326988203on_j_k > rObjec1617416918on_j_k ).

thf(sy_c_ObjectClass_ORObject_Oextend_001t__Product____Type__Ounit,type,
    extend_Product_unit: rObjec103300152t_unit > product_unit > rObjec103300152t_unit ).

thf(sy_c_ObjectClass_ORObject_Omore_001t__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J,type,
    more_R1625109589on_j_k: rObjec1617416918on_j_k > rDocum326988203on_j_k ).

thf(sy_c_ObjectClass_ORObject_Omore_001t__Product____Type__Ounit,type,
    more_Product_unit: rObjec103300152t_unit > product_unit ).

thf(sy_c_ObjectClass_ORObject_Onothing_001t__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J,type,
    nothin1567949605on_j_k: rObjec1617416918on_j_k > product_unit ).

thf(sy_c_ObjectClass_ORObject_Onothing_001t__Product____Type__Ounit,type,
    nothing_Product_unit: rObjec103300152t_unit > product_unit ).

thf(sy_c_ObjectClass_Oget_092_060_094sub_062O_092_060_094sub_062b_092_060_094sub_062j_092_060_094sub_062e_092_060_094sub_062c_092_060_094sub_062t_001t__Sum____Type__Osum_It__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J_Mt__Sum____Type__Osum_It__DocumentPointer__Odocument____ptr_It__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J_J_Mtf__f_J_J_001t__Sum____Type__Osum_It__NodeClass__ORNode__ORNode____ext_It__Sum____Type__Osum_It__ElementClass__ORElement__ORElement____ext_Itf__c_Mtf__a_Mtf__b_Mtf__d_Mt__Option__Ooption_Itf__g_J_J_Mt__Sum____Type__Osum_It__CharacterDataClass__ORCharacterData__ORCharacterData____ext_It__Option__Ooption_Itf__h_J_J_Mtf__i_J_J_J_Mt__Sum____Type__Osum_It__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J_Mtf__l_J_J,type,
    get_O_623850005_j_k_l: object945351580_d_e_f > heap_S1465075775_j_k_l > option1749760295_j_k_l ).

thf(sy_c_ObjectClass_Oput_092_060_094sub_062O_092_060_094sub_062b_092_060_094sub_062j_092_060_094sub_062e_092_060_094sub_062c_092_060_094sub_062t_001t__Sum____Type__Osum_It__NodePointer__Onode____ptr_It__Sum____Type__Osum_It__ElementPointer__Oelement____ptr_Itf__a_J_Mt__Sum____Type__Osum_It__CharacterDataPointer__Ocharacter____data____ptr_Itf__b_J_Mtf__c_J_J_J_Mt__Sum____Type__Osum_It__DocumentPointer__Odocument____ptr_It__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J_J_Mtf__f_J_J_001t__Sum____Type__Osum_It__NodeClass__ORNode__ORNode____ext_It__Sum____Type__Osum_It__ElementClass__ORElement__ORElement____ext_Itf__c_Mtf__a_Mtf__b_Mtf__d_Mt__Option__Ooption_Itf__g_J_J_Mt__Sum____Type__Osum_It__CharacterDataClass__ORCharacterData__ORCharacterData____ext_It__Option__Ooption_Itf__h_J_J_Mtf__i_J_J_J_Mt__Sum____Type__Osum_It__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J_Mtf__l_J_J,type,
    put_O_834343516_j_k_l: object945351580_d_e_f > rObjec1413572695_j_k_l > heap_S1465075775_j_k_l > heap_S1465075775_j_k_l ).

thf(sy_c_Option_Obind_001t__ElementPointer__Oelement____ptr_Itf__a_J_001t__ElementPointer__Oelement____ptr_Itf__a_J,type,
    bind_e22036734_ptr_a: option_element_ptr_a > ( element_ptr_a > option_element_ptr_a ) > option_element_ptr_a ).

thf(sy_c_Option_Obind_001t__ElementPointer__Oelement____ptr_Itf__a_J_001t__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J,type,
    bind_e1012152651on_j_k: option_element_ptr_a > ( element_ptr_a > option2026120038on_j_k ) > option2026120038on_j_k ).

thf(sy_c_Option_Obind_001t__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_001t__ElementPointer__Oelement____ptr_Itf__a_J,type,
    bind_S287509021_ptr_a: option2026120038on_j_k > ( sum_su1221287958on_j_k > option_element_ptr_a ) > option_element_ptr_a ).

thf(sy_c_Option_Obind_001t__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_001t__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J,type,
    bind_S607117548on_j_k: option2026120038on_j_k > ( sum_su1221287958on_j_k > option2026120038on_j_k ) > option2026120038on_j_k ).

thf(sy_c_Option_Ooption_ONone_001t__DocumentPointer__Odocument____ptr_It__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J_J,type,
    none_d1458959567tr_d_e: option1330818496tr_d_e ).

thf(sy_c_Option_Ooption_ONone_001t__ElementPointer__Oelement____ptr_Itf__a_J,type,
    none_element_ptr_a: option_element_ptr_a ).

thf(sy_c_Option_Ooption_ONone_001t__ObjectClass__ORObject__ORObject____ext_It__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J_J,type,
    none_R1587534007on_j_k: option841825948on_j_k ).

thf(sy_c_Option_Ooption_ONone_001t__ObjectClass__ORObject__ORObject____ext_It__Sum____Type__Osum_It__NodeClass__ORNode__ORNode____ext_It__Sum____Type__Osum_It__ElementClass__ORElement__ORElement____ext_Itf__c_Mtf__a_Mtf__b_Mtf__d_Mt__Option__Ooption_Itf__g_J_J_Mt__Sum____Type__Osum_It__CharacterDataClass__ORCharacterData__ORCharacterData____ext_It__Option__Ooption_Itf__h_J_J_Mtf__i_J_J_J_Mt__Sum____Type__Osum_It__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J_Mtf__l_J_J_J,type,
    none_R1773662646_j_k_l: option1749760295_j_k_l ).

thf(sy_c_Option_Ooption_ONone_001t__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J,type,
    none_S1393028981on_j_k: option2026120038on_j_k ).

thf(sy_c_Option_Ooption_OSome_001t__DocumentPointer__Odocument____ptr_It__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J_J,type,
    some_d1631029323tr_d_e: docume1935157360tr_d_e > option1330818496tr_d_e ).

thf(sy_c_Option_Ooption_OSome_001t__ElementPointer__Oelement____ptr_Itf__a_J,type,
    some_element_ptr_a: element_ptr_a > option_element_ptr_a ).

thf(sy_c_Option_Ooption_OSome_001t__ObjectClass__ORObject__ORObject____ext_It__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J_J,type,
    some_R67702331on_j_k: rObjec1617416918on_j_k > option841825948on_j_k ).

thf(sy_c_Option_Ooption_OSome_001t__ObjectClass__ORObject__ORObject____ext_It__Sum____Type__Osum_It__NodeClass__ORNode__ORNode____ext_It__Sum____Type__Osum_It__ElementClass__ORElement__ORElement____ext_Itf__c_Mtf__a_Mtf__b_Mtf__d_Mt__Option__Ooption_Itf__g_J_J_Mt__Sum____Type__Osum_It__CharacterDataClass__ORCharacterData__ORCharacterData____ext_It__Option__Ooption_Itf__h_J_J_Mtf__i_J_J_J_Mt__Sum____Type__Osum_It__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J_Mtf__l_J_J_J,type,
    some_R1598191922_j_k_l: rObjec1413572695_j_k_l > option1749760295_j_k_l ).

thf(sy_c_Option_Ooption_OSome_001t__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J,type,
    some_S1960742641on_j_k: sum_su1221287958on_j_k > option2026120038on_j_k ).

thf(sy_c_Option_Ooption_Osize__option_001t__DocumentPointer__Odocument____ptr_It__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J_J,type,
    size_o1635055885tr_d_e: ( docume1935157360tr_d_e > nat ) > option1330818496tr_d_e > nat ).

thf(sy_c_Option_Ooption_Osize__option_001t__ElementPointer__Oelement____ptr_Itf__a_J,type,
    size_o1591053974_ptr_a: ( element_ptr_a > nat ) > option_element_ptr_a > nat ).

thf(sy_c_Option_Ooption_Osize__option_001t__ObjectClass__ORObject__ORObject____ext_It__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J_J,type,
    size_o26122489on_j_k: ( rObjec1617416918on_j_k > nat ) > option841825948on_j_k > nat ).

thf(sy_c_Option_Ooption_Osize__option_001t__ObjectClass__ORObject__ORObject____ext_It__Sum____Type__Osum_It__NodeClass__ORNode__ORNode____ext_It__Sum____Type__Osum_It__ElementClass__ORElement__ORElement____ext_Itf__c_Mtf__a_Mtf__b_Mtf__d_Mt__Option__Ooption_Itf__g_J_J_Mt__Sum____Type__Osum_It__CharacterDataClass__ORCharacterData__ORCharacterData____ext_It__Option__Ooption_Itf__h_J_J_Mtf__i_J_J_J_Mt__Sum____Type__Osum_It__DocumentClass__ORDocument__ORDocument____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_It__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J_J_J_Mtf__l_J_J_J,type,
    size_o310046708_j_k_l: ( rObjec1413572695_j_k_l > nat ) > option1749760295_j_k_l > nat ).

thf(sy_c_Option_Ooption_Osize__option_001t__Sum____Type__Osum_It__ShadowRootClass__ORShadowRoot__ORShadowRoot____ext_Itf__c_Mtf__a_Mtf__b_Mt__Option__Ooption_Itf__j_J_J_Mtf__k_J,type,
    size_o1777465779on_j_k: ( sum_su1221287958on_j_k > nat ) > option2026120038on_j_k > nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__FSet__Ofset_It__DocumentPointer__Odocument____ptr_It__Sum____Type__Osum_It__ShadowRootPointer__Oshadow____root____ptr_Itf__d_J_Mtf__e_J_J_J,type,
    bot_bo1111241908tr_d_e: fset_d1663890464tr_d_e ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Nat__Onat,type,
    bot_bot_nat: nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Nat__Onat_J,type,
    bot_bot_set_nat: set_nat ).

thf(sy_c_Product__Type_OUnity,type,
    product_Unity: product_unit ).

thf(sy_c_Set_OCollect_001t__Nat__Onat,type,
    collect_nat: ( nat > $o ) > set_nat ).

thf(sy_c_ShadowRootClass_Otype__wf_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001tf__f_001tf__g_001tf__h_001tf__i_001tf__j_001tf__k_001tf__l,type,
    type_w92696601_j_k_l: heap_S1465075775_j_k_l > $o ).

thf(sy_c_member_001t__Nat__Onat,type,
    member_nat: nat > set_nat > $o ).

thf(sy_v_h,type,
    h: heap_S1465075775_j_k_l ).

thf(sy_v_h_H,type,
    h2: heap_S1465075775_j_k_l ).

% Relevant facts (339)
thf(fact_0_cast_092_060_094sub_062D_092_060_094sub_062o_092_060_094sub_062c_092_060_094sub_062u_092_060_094sub_062m_092_060_094sub_062e_092_060_094sub_062n_092_060_094sub_062t_092_060_094sub_0622_092_060_094sub_062O_092_060_094sub_062b_092_060_094sub_062j_092_060_094sub_062e_092_060_094sub_062c_092_060_094sub_062t__inject,axiom,
    ! [X: rObjec1617416918on_j_k,Y: rObjec1617416918on_j_k] :
      ( ( ( cast_D1252964113_h_i_l @ X )
        = ( cast_D1252964113_h_i_l @ Y ) )
      = ( X = Y ) ) ).

% cast\<^sub>D\<^sub>o\<^sub>c\<^sub>u\<^sub>m\<^sub>e\<^sub>n\<^sub>t\<^sub>2\<^sub>O\<^sub>b\<^sub>j\<^sub>e\<^sub>c\<^sub>t_inject
thf(fact_1_cast_092_060_094sub_062d_092_060_094sub_062o_092_060_094sub_062c_092_060_094sub_062u_092_060_094sub_062m_092_060_094sub_062e_092_060_094sub_062n_092_060_094sub_062t_092_060_094sub_062___092_060_094sub_062p_092_060_094sub_062t_092_060_094sub_062r_092_060_094sub_0622_092_060_094sub_062o_092_060_094sub_062b_092_060_094sub_062j_092_060_094sub_062e_092_060_094sub_062c_092_060_094sub_062t_092_060_094sub_062___092_060_094sub_062p_092_060_094sub_062t_092_060_094sub_062r__inject,axiom,
    ! [X: docume1935157360tr_d_e,Y: docume1935157360tr_d_e] :
      ( ( ( cast_d1608273229_b_c_f @ X )
        = ( cast_d1608273229_b_c_f @ Y ) )
      = ( X = Y ) ) ).

% cast\<^sub>d\<^sub>o\<^sub>c\<^sub>u\<^sub>m\<^sub>e\<^sub>n\<^sub>t\<^sub>_\<^sub>p\<^sub>t\<^sub>r\<^sub>2\<^sub>o\<^sub>b\<^sub>j\<^sub>e\<^sub>c\<^sub>t\<^sub>_\<^sub>p\<^sub>t\<^sub>r_inject
thf(fact_2_document__ptr_Oinject_I1_J,axiom,
    ! [X1: nat,Y1: nat] :
      ( ( ( docume1511108976tr_d_e @ X1 )
        = ( docume1511108976tr_d_e @ Y1 ) )
      = ( X1 = Y1 ) ) ).

% document_ptr.inject(1)
thf(fact_3_RDocument_Oext__inject,axiom,
    ! [Nothinga: product_unit,Doctype: list_char,Document_element: option_element_ptr_a,Disconnected_nodes: list_n282880152tr_b_c,More: option2026120038on_j_k,Nothinga2: product_unit,Doctype2: list_char,Document_element2: option_element_ptr_a,Disconnected_nodes2: list_n282880152tr_b_c,More2: option2026120038on_j_k] :
      ( ( ( rDocum427676485on_j_k @ Nothinga @ Doctype @ Document_element @ Disconnected_nodes @ More )
        = ( rDocum427676485on_j_k @ Nothinga2 @ Doctype2 @ Document_element2 @ Disconnected_nodes2 @ More2 ) )
      = ( ( Nothinga = Nothinga2 )
        & ( Doctype = Doctype2 )
        & ( Document_element = Document_element2 )
        & ( Disconnected_nodes = Disconnected_nodes2 )
        & ( More = More2 ) ) ) ).

% RDocument.ext_inject
thf(fact_4_RObject_Oext__inject,axiom,
    ! [Nothing: product_unit,More: rDocum326988203on_j_k,Nothing2: product_unit,More2: rDocum326988203on_j_k] :
      ( ( ( rObjec1303043984on_j_k @ Nothing @ More )
        = ( rObjec1303043984on_j_k @ Nothing2 @ More2 ) )
      = ( ( Nothing = Nothing2 )
        & ( More = More2 ) ) ) ).

% RObject.ext_inject
thf(fact_5_RObject_Oext__inject,axiom,
    ! [Nothing: product_unit,More: product_unit,Nothing2: product_unit,More2: product_unit] :
      ( ( ( rObjec730108904t_unit @ Nothing @ More )
        = ( rObjec730108904t_unit @ Nothing2 @ More2 ) )
      = ( ( Nothing = Nothing2 )
        & ( More = More2 ) ) ) ).

% RObject.ext_inject
thf(fact_6_nat_Oinject,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ( suc @ X2 )
        = ( suc @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% nat.inject
thf(fact_7_old_Onat_Oinject,axiom,
    ! [Nat: nat,Nat2: nat] :
      ( ( ( suc @ Nat )
        = ( suc @ Nat2 ) )
      = ( Nat = Nat2 ) ) ).

% old.nat.inject
thf(fact_8_RDocument_Ocases__scheme,axiom,
    ! [R: rObjec1617416918on_j_k] :
      ~ ! [Nothing3: product_unit,Nothinga3: product_unit,Doctype3: list_char,Document_element3: option_element_ptr_a,Disconnected_nodes3: list_n282880152tr_b_c,More3: option2026120038on_j_k] :
          ( R
         != ( rObjec1303043984on_j_k @ Nothing3 @ ( rDocum427676485on_j_k @ Nothinga3 @ Doctype3 @ Document_element3 @ Disconnected_nodes3 @ More3 ) ) ) ).

% RDocument.cases_scheme
thf(fact_9_RDocument_Oinduct__scheme,axiom,
    ! [P: rObjec1617416918on_j_k > $o,R: rObjec1617416918on_j_k] :
      ( ! [Nothing3: product_unit,Nothinga3: product_unit,Doctype3: list_char,Document_element3: option_element_ptr_a,Disconnected_nodes3: list_n282880152tr_b_c,More3: option2026120038on_j_k] : ( P @ ( rObjec1303043984on_j_k @ Nothing3 @ ( rDocum427676485on_j_k @ Nothinga3 @ Doctype3 @ Document_element3 @ Disconnected_nodes3 @ More3 ) ) )
     => ( P @ R ) ) ).

% RDocument.induct_scheme
thf(fact_10_bot__nat__def,axiom,
    bot_bot_nat = zero_zero_nat ).

% bot_nat_def
thf(fact_11_RObject_Oinduct,axiom,
    ! [P: rObjec103300152t_unit > $o,R: rObjec103300152t_unit] :
      ( ! [Nothing3: product_unit] : ( P @ ( rObjec730108904t_unit @ Nothing3 @ product_Unity ) )
     => ( P @ R ) ) ).

% RObject.induct
thf(fact_12_RObject_Ocases,axiom,
    ! [R: rObjec103300152t_unit] :
      ~ ! [Nothing3: product_unit] :
          ( R
         != ( rObjec730108904t_unit @ Nothing3 @ product_Unity ) ) ).

% RObject.cases
thf(fact_13_zero__reorient,axiom,
    ! [X: nat] :
      ( ( zero_zero_nat = X )
      = ( X = zero_zero_nat ) ) ).

% zero_reorient
thf(fact_14_n__not__Suc__n,axiom,
    ! [N: nat] :
      ( N
     != ( suc @ N ) ) ).

% n_not_Suc_n
thf(fact_15_Suc__inject,axiom,
    ! [X: nat,Y: nat] :
      ( ( ( suc @ X )
        = ( suc @ Y ) )
     => ( X = Y ) ) ).

% Suc_inject
thf(fact_16_RObject_Oinduct__scheme,axiom,
    ! [P: rObjec1617416918on_j_k > $o,R: rObjec1617416918on_j_k] :
      ( ! [Nothing3: product_unit,More3: rDocum326988203on_j_k] : ( P @ ( rObjec1303043984on_j_k @ Nothing3 @ More3 ) )
     => ( P @ R ) ) ).

% RObject.induct_scheme
thf(fact_17_RObject_Oinduct__scheme,axiom,
    ! [P: rObjec103300152t_unit > $o,R: rObjec103300152t_unit] :
      ( ! [Nothing3: product_unit,More3: product_unit] : ( P @ ( rObjec730108904t_unit @ Nothing3 @ More3 ) )
     => ( P @ R ) ) ).

% RObject.induct_scheme
thf(fact_18_RObject_Ocases__scheme,axiom,
    ! [R: rObjec1617416918on_j_k] :
      ~ ! [Nothing3: product_unit,More3: rDocum326988203on_j_k] :
          ( R
         != ( rObjec1303043984on_j_k @ Nothing3 @ More3 ) ) ).

% RObject.cases_scheme
thf(fact_19_RObject_Ocases__scheme,axiom,
    ! [R: rObjec103300152t_unit] :
      ~ ! [Nothing3: product_unit,More3: product_unit] :
          ( R
         != ( rObjec730108904t_unit @ Nothing3 @ More3 ) ) ).

% RObject.cases_scheme
thf(fact_20_RDocument_Oext__induct,axiom,
    ! [P: rDocum326988203on_j_k > $o,R: rDocum326988203on_j_k] :
      ( ! [Nothinga3: product_unit,Doctype3: list_char,Document_element3: option_element_ptr_a,Disconnected_nodes3: list_n282880152tr_b_c,More3: option2026120038on_j_k] : ( P @ ( rDocum427676485on_j_k @ Nothinga3 @ Doctype3 @ Document_element3 @ Disconnected_nodes3 @ More3 ) )
     => ( P @ R ) ) ).

% RDocument.ext_induct
thf(fact_21_not0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ? [M: nat] :
          ( N
          = ( suc @ M ) ) ) ).

% not0_implies_Suc
thf(fact_22_old_Onat_Oinducts,axiom,
    ! [P: nat > $o,Nat: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [Nat3: nat] :
            ( ( P @ Nat3 )
           => ( P @ ( suc @ Nat3 ) ) )
       => ( P @ Nat ) ) ) ).

% old.nat.inducts
thf(fact_23_old_Onat_Oexhaust,axiom,
    ! [Y: nat] :
      ( ( Y != zero_zero_nat )
     => ~ ! [Nat3: nat] :
            ( Y
           != ( suc @ Nat3 ) ) ) ).

% old.nat.exhaust
thf(fact_24_Zero__not__Suc,axiom,
    ! [M2: nat] :
      ( zero_zero_nat
     != ( suc @ M2 ) ) ).

% Zero_not_Suc
thf(fact_25_Zero__neq__Suc,axiom,
    ! [M2: nat] :
      ( zero_zero_nat
     != ( suc @ M2 ) ) ).

% Zero_neq_Suc
thf(fact_26_Suc__neq__Zero,axiom,
    ! [M2: nat] :
      ( ( suc @ M2 )
     != zero_zero_nat ) ).

% Suc_neq_Zero
thf(fact_27_zero__induct,axiom,
    ! [P: nat > $o,K: nat] :
      ( ( P @ K )
     => ( ! [N2: nat] :
            ( ( P @ ( suc @ N2 ) )
           => ( P @ N2 ) )
       => ( P @ zero_zero_nat ) ) ) ).

% zero_induct
thf(fact_28_diff__induct,axiom,
    ! [P: nat > nat > $o,M2: nat,N: nat] :
      ( ! [X3: nat] : ( P @ X3 @ zero_zero_nat )
     => ( ! [Y3: nat] : ( P @ zero_zero_nat @ ( suc @ Y3 ) )
       => ( ! [X3: nat,Y3: nat] :
              ( ( P @ X3 @ Y3 )
             => ( P @ ( suc @ X3 ) @ ( suc @ Y3 ) ) )
         => ( P @ M2 @ N ) ) ) ) ).

% diff_induct
thf(fact_29_nat__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N2: nat] :
            ( ( P @ N2 )
           => ( P @ ( suc @ N2 ) ) )
       => ( P @ N ) ) ) ).

% nat_induct
thf(fact_30_nat_OdiscI,axiom,
    ! [Nat: nat,X2: nat] :
      ( ( Nat
        = ( suc @ X2 ) )
     => ( Nat != zero_zero_nat ) ) ).

% nat.discI
thf(fact_31_old_Onat_Odistinct_I1_J,axiom,
    ! [Nat2: nat] :
      ( zero_zero_nat
     != ( suc @ Nat2 ) ) ).

% old.nat.distinct(1)
thf(fact_32_old_Onat_Odistinct_I2_J,axiom,
    ! [Nat2: nat] :
      ( ( suc @ Nat2 )
     != zero_zero_nat ) ).

% old.nat.distinct(2)
thf(fact_33_nat_Odistinct_I1_J,axiom,
    ! [X2: nat] :
      ( zero_zero_nat
     != ( suc @ X2 ) ) ).

% nat.distinct(1)
thf(fact_34_document__ptr_Osize__gen_I1_J,axiom,
    ! [X: sum_su1576157353tr_d_e > nat,X1: nat] :
      ( ( docume1799427087tr_d_e @ X @ ( docume1511108976tr_d_e @ X1 ) )
      = ( suc @ zero_zero_nat ) ) ).

% document_ptr.size_gen(1)
thf(fact_35_document__ptr_Osize_I3_J,axiom,
    ! [X1: nat] :
      ( ( size_s724035844tr_d_e @ ( docume1511108976tr_d_e @ X1 ) )
      = ( suc @ zero_zero_nat ) ) ).

% document_ptr.size(3)
thf(fact_36_put_092_060_094sub_062D_092_060_094sub_062o_092_060_094sub_062c_092_060_094sub_062u_092_060_094sub_062m_092_060_094sub_062e_092_060_094sub_062n_092_060_094sub_062t__def,axiom,
    ( put_D_2126422573_h_i_l
    = ( ^ [Document_ptr: docume1935157360tr_d_e,Document: rObjec1617416918on_j_k] : ( put_O_834343516_j_k_l @ ( cast_d1608273229_b_c_f @ Document_ptr ) @ ( cast_D1252964113_h_i_l @ Document ) ) ) ) ).

% put\<^sub>D\<^sub>o\<^sub>c\<^sub>u\<^sub>m\<^sub>e\<^sub>n\<^sub>t_def
thf(fact_37_exists__least__lemma,axiom,
    ! [P: nat > $o] :
      ( ~ ( P @ zero_zero_nat )
     => ( ? [X_1: nat] : ( P @ X_1 )
       => ? [N2: nat] :
            ( ~ ( P @ N2 )
            & ( P @ ( suc @ N2 ) ) ) ) ) ).

% exists_least_lemma
thf(fact_38_list__decode_Ocases,axiom,
    ! [X: nat] :
      ( ( X != zero_zero_nat )
     => ~ ! [N2: nat] :
            ( X
           != ( suc @ N2 ) ) ) ).

% list_decode.cases
thf(fact_39_object__empty,axiom,
    ! [X: rObjec1617416918on_j_k] :
      ( ( rObjec1303043984on_j_k @ product_Unity @ ( more_R1625109589on_j_k @ X ) )
      = X ) ).

% object_empty
thf(fact_40_object__empty,axiom,
    ! [X: rObjec103300152t_unit] :
      ( ( rObjec730108904t_unit @ product_Unity @ ( more_Product_unit @ X ) )
      = X ) ).

% object_empty
thf(fact_41_mem__Collect__eq,axiom,
    ! [A: nat,P: nat > $o] :
      ( ( member_nat @ A @ ( collect_nat @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_42_Collect__mem__eq,axiom,
    ! [A2: set_nat] :
      ( ( collect_nat
        @ ^ [X4: nat] : ( member_nat @ X4 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_43_RDocument_Oupdate__convs_I1_J,axiom,
    ! [Nothing2: product_unit > product_unit,Nothing: product_unit,Nothinga: product_unit,Doctype: list_char,Document_element: option_element_ptr_a,Disconnected_nodes: list_n282880152tr_b_c,More: option2026120038on_j_k] :
      ( ( nothin1105341917on_j_k @ Nothing2 @ ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ Nothinga @ Doctype @ Document_element @ Disconnected_nodes @ More ) ) )
      = ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ ( Nothing2 @ Nothinga ) @ Doctype @ Document_element @ Disconnected_nodes @ More ) ) ) ).

% RDocument.update_convs(1)
thf(fact_44_RDocument_Oupdate__convs_I2_J,axiom,
    ! [Doctype2: list_char > list_char,Nothing: product_unit,Nothinga: product_unit,Doctype: list_char,Document_element: option_element_ptr_a,Disconnected_nodes: list_n282880152tr_b_c,More: option2026120038on_j_k] :
      ( ( doctyp68000440on_j_k @ Doctype2 @ ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ Nothinga @ Doctype @ Document_element @ Disconnected_nodes @ More ) ) )
      = ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ Nothinga @ ( Doctype2 @ Doctype ) @ Document_element @ Disconnected_nodes @ More ) ) ) ).

% RDocument.update_convs(2)
thf(fact_45_RDocument_Oupdate__convs_I3_J,axiom,
    ! [Document_element2: option_element_ptr_a > option_element_ptr_a,Nothing: product_unit,Nothinga: product_unit,Doctype: list_char,Document_element: option_element_ptr_a,Disconnected_nodes: list_n282880152tr_b_c,More: option2026120038on_j_k] :
      ( ( docume244715269on_j_k @ Document_element2 @ ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ Nothinga @ Doctype @ Document_element @ Disconnected_nodes @ More ) ) )
      = ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ Nothinga @ Doctype @ ( Document_element2 @ Document_element ) @ Disconnected_nodes @ More ) ) ) ).

% RDocument.update_convs(3)
thf(fact_46_RDocument_Oupdate__convs_I4_J,axiom,
    ! [Disconnected_nodes2: list_n282880152tr_b_c > list_n282880152tr_b_c,Nothing: product_unit,Nothinga: product_unit,Doctype: list_char,Document_element: option_element_ptr_a,Disconnected_nodes: list_n282880152tr_b_c,More: option2026120038on_j_k] :
      ( ( discon442323090on_j_k @ Disconnected_nodes2 @ ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ Nothinga @ Doctype @ Document_element @ Disconnected_nodes @ More ) ) )
      = ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ Nothinga @ Doctype @ Document_element @ ( Disconnected_nodes2 @ Disconnected_nodes ) @ More ) ) ) ).

% RDocument.update_convs(4)
thf(fact_47_size__neq__size__imp__neq,axiom,
    ! [X: docume1935157360tr_d_e,Y: docume1935157360tr_d_e] :
      ( ( ( size_s724035844tr_d_e @ X )
       != ( size_s724035844tr_d_e @ Y ) )
     => ( X != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_48_size__neq__size__imp__neq,axiom,
    ! [X: list_n282880152tr_b_c,Y: list_n282880152tr_b_c] :
      ( ( ( size_s2106487044tr_b_c @ X )
       != ( size_s2106487044tr_b_c @ Y ) )
     => ( X != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_49_size__neq__size__imp__neq,axiom,
    ! [X: list_char,Y: list_char] :
      ( ( ( size_size_list_char @ X )
       != ( size_size_list_char @ Y ) )
     => ( X != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_50_size__neq__size__imp__neq,axiom,
    ! [X: option2026120038on_j_k,Y: option2026120038on_j_k] :
      ( ( ( size_s1129069050on_j_k @ X )
       != ( size_s1129069050on_j_k @ Y ) )
     => ( X != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_51_size__neq__size__imp__neq,axiom,
    ! [X: option_element_ptr_a,Y: option_element_ptr_a] :
      ( ( ( size_s1129684517_ptr_a @ X )
       != ( size_s1129684517_ptr_a @ Y ) )
     => ( X != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_52_RObject_Oselect__convs_I2_J,axiom,
    ! [Nothing: product_unit,More: rDocum326988203on_j_k] :
      ( ( more_R1625109589on_j_k @ ( rObjec1303043984on_j_k @ Nothing @ More ) )
      = More ) ).

% RObject.select_convs(2)
thf(fact_53_RObject_Oselect__convs_I2_J,axiom,
    ! [Nothing: product_unit,More: product_unit] :
      ( ( more_Product_unit @ ( rObjec730108904t_unit @ Nothing @ More ) )
      = More ) ).

% RObject.select_convs(2)
thf(fact_54_document__ptr_Osize__neq,axiom,
    ! [X: docume1935157360tr_d_e] :
      ( ( size_s724035844tr_d_e @ X )
     != zero_zero_nat ) ).

% document_ptr.size_neq
thf(fact_55_object__more__extend__id,axiom,
    ! [X: rObjec103300152t_unit,Y: product_unit] :
      ( ( more_Product_unit @ ( extend_Product_unit @ X @ Y ) )
      = Y ) ).

% object_more_extend_id
thf(fact_56_object__more__extend__id,axiom,
    ! [X: rObjec103300152t_unit,Y: rDocum326988203on_j_k] :
      ( ( more_R1625109589on_j_k @ ( extend1066431834on_j_k @ X @ Y ) )
      = Y ) ).

% object_more_extend_id
thf(fact_57_RDocument_Oupdate__convs_I5_J,axiom,
    ! [More2: option2026120038on_j_k > option2026120038on_j_k,Nothing: product_unit,Nothinga: product_unit,Doctype: list_char,Document_element: option_element_ptr_a,Disconnected_nodes: list_n282880152tr_b_c,More: option2026120038on_j_k] :
      ( ( more_u1044474223_c_a_b @ More2 @ ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ Nothinga @ Doctype @ Document_element @ Disconnected_nodes @ More ) ) )
      = ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ Nothinga @ Doctype @ Document_element @ Disconnected_nodes @ ( More2 @ More ) ) ) ) ).

% RDocument.update_convs(5)
thf(fact_58_is__document__ptr__ref,axiom,
    ! [N: nat] : ( is_doc2037328342tr_d_e @ ( docume1511108976tr_d_e @ N ) ) ).

% is_document_ptr_ref
thf(fact_59_RDocument_Oselect__convs_I5_J,axiom,
    ! [Nothing: product_unit,Nothinga: product_unit,Doctype: list_char,Document_element: option_element_ptr_a,Disconnected_nodes: list_n282880152tr_b_c,More: option2026120038on_j_k] :
      ( ( more_c1453068134on_j_k @ ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ Nothinga @ Doctype @ Document_element @ Disconnected_nodes @ More ) ) )
      = More ) ).

% RDocument.select_convs(5)
thf(fact_60_RDocument_Oselect__convs_I4_J,axiom,
    ! [Nothing: product_unit,Nothinga: product_unit,Doctype: list_char,Document_element: option_element_ptr_a,Disconnected_nodes: list_n282880152tr_b_c,More: option2026120038on_j_k] :
      ( ( discon866287741on_j_k @ ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ Nothinga @ Doctype @ Document_element @ Disconnected_nodes @ More ) ) )
      = Disconnected_nodes ) ).

% RDocument.select_convs(4)
thf(fact_61_RDocument_Oselect__convs_I3_J,axiom,
    ! [Nothing: product_unit,Nothinga: product_unit,Doctype: list_char,Document_element: option_element_ptr_a,Disconnected_nodes: list_n282880152tr_b_c,More: option2026120038on_j_k] :
      ( ( docume1175131570on_j_k @ ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ Nothinga @ Doctype @ Document_element @ Disconnected_nodes @ More ) ) )
      = Document_element ) ).

% RDocument.select_convs(3)
thf(fact_62_RDocument_Oselect__convs_I2_J,axiom,
    ! [Nothing: product_unit,Nothinga: product_unit,Doctype: list_char,Document_element: option_element_ptr_a,Disconnected_nodes: list_n282880152tr_b_c,More: option2026120038on_j_k] :
      ( ( doctyp814403297on_j_k @ ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ Nothinga @ Doctype @ Document_element @ Disconnected_nodes @ More ) ) )
      = Doctype ) ).

% RDocument.select_convs(2)
thf(fact_63_RDocument_Oselect__convs_I1_J,axiom,
    ! [Nothing: product_unit,Nothinga: product_unit,Doctype: list_char,Document_element: option_element_ptr_a,Disconnected_nodes: list_n282880152tr_b_c,More: option2026120038on_j_k] :
      ( ( nothin757132294on_j_k @ ( rObjec1303043984on_j_k @ Nothing @ ( rDocum427676485on_j_k @ Nothinga @ Doctype @ Document_element @ Disconnected_nodes @ More ) ) )
      = Nothinga ) ).

% RDocument.select_convs(1)
thf(fact_64_RDocument_Ounfold__congs_I6_J,axiom,
    ! [R: rObjec1617416918on_j_k,R2: rObjec1617416918on_j_k,V: option2026120038on_j_k,F: option2026120038on_j_k > option2026120038on_j_k,F2: option2026120038on_j_k > option2026120038on_j_k] :
      ( ( R = R2 )
     => ( ( ( more_c1453068134on_j_k @ R2 )
          = V )
       => ( ! [V2: option2026120038on_j_k] :
              ( ( V2 = V )
             => ( ( F @ V2 )
                = ( F2 @ V2 ) ) )
         => ( ( more_u1044474223_c_a_b @ F @ R )
            = ( more_u1044474223_c_a_b @ F2 @ R2 ) ) ) ) ) ).

% RDocument.unfold_congs(6)
thf(fact_65_RDocument_Ofold__congs_I6_J,axiom,
    ! [R: rObjec1617416918on_j_k,R2: rObjec1617416918on_j_k,V: option2026120038on_j_k,F: option2026120038on_j_k > option2026120038on_j_k,F2: option2026120038on_j_k > option2026120038on_j_k] :
      ( ( R = R2 )
     => ( ( ( more_c1453068134on_j_k @ R2 )
          = V )
       => ( ! [V2: option2026120038on_j_k] :
              ( ( V = V2 )
             => ( ( F @ V2 )
                = ( F2 @ V2 ) ) )
         => ( ( more_u1044474223_c_a_b @ F @ R )
            = ( more_u1044474223_c_a_b @ F2 @ R2 ) ) ) ) ) ).

% RDocument.fold_congs(6)
thf(fact_66_RDocument_Ounfold__congs_I3_J,axiom,
    ! [R: rObjec1617416918on_j_k,R2: rObjec1617416918on_j_k,V: list_char,F: list_char > list_char,F2: list_char > list_char] :
      ( ( R = R2 )
     => ( ( ( doctyp814403297on_j_k @ R2 )
          = V )
       => ( ! [V2: list_char] :
              ( ( V2 = V )
             => ( ( F @ V2 )
                = ( F2 @ V2 ) ) )
         => ( ( doctyp68000440on_j_k @ F @ R )
            = ( doctyp68000440on_j_k @ F2 @ R2 ) ) ) ) ) ).

% RDocument.unfold_congs(3)
thf(fact_67_RDocument_Ounfold__congs_I4_J,axiom,
    ! [R: rObjec1617416918on_j_k,R2: rObjec1617416918on_j_k,V: option_element_ptr_a,F: option_element_ptr_a > option_element_ptr_a,F2: option_element_ptr_a > option_element_ptr_a] :
      ( ( R = R2 )
     => ( ( ( docume1175131570on_j_k @ R2 )
          = V )
       => ( ! [V2: option_element_ptr_a] :
              ( ( V2 = V )
             => ( ( F @ V2 )
                = ( F2 @ V2 ) ) )
         => ( ( docume244715269on_j_k @ F @ R )
            = ( docume244715269on_j_k @ F2 @ R2 ) ) ) ) ) ).

% RDocument.unfold_congs(4)
thf(fact_68_RDocument_Ounfold__congs_I5_J,axiom,
    ! [R: rObjec1617416918on_j_k,R2: rObjec1617416918on_j_k,V: list_n282880152tr_b_c,F: list_n282880152tr_b_c > list_n282880152tr_b_c,F2: list_n282880152tr_b_c > list_n282880152tr_b_c] :
      ( ( R = R2 )
     => ( ( ( discon866287741on_j_k @ R2 )
          = V )
       => ( ! [V2: list_n282880152tr_b_c] :
              ( ( V2 = V )
             => ( ( F @ V2 )
                = ( F2 @ V2 ) ) )
         => ( ( discon442323090on_j_k @ F @ R )
            = ( discon442323090on_j_k @ F2 @ R2 ) ) ) ) ) ).

% RDocument.unfold_congs(5)
thf(fact_69_RDocument_Ofold__congs_I3_J,axiom,
    ! [R: rObjec1617416918on_j_k,R2: rObjec1617416918on_j_k,V: list_char,F: list_char > list_char,F2: list_char > list_char] :
      ( ( R = R2 )
     => ( ( ( doctyp814403297on_j_k @ R2 )
          = V )
       => ( ! [V2: list_char] :
              ( ( V = V2 )
             => ( ( F @ V2 )
                = ( F2 @ V2 ) ) )
         => ( ( doctyp68000440on_j_k @ F @ R )
            = ( doctyp68000440on_j_k @ F2 @ R2 ) ) ) ) ) ).

% RDocument.fold_congs(3)
thf(fact_70_RDocument_Ofold__congs_I4_J,axiom,
    ! [R: rObjec1617416918on_j_k,R2: rObjec1617416918on_j_k,V: option_element_ptr_a,F: option_element_ptr_a > option_element_ptr_a,F2: option_element_ptr_a > option_element_ptr_a] :
      ( ( R = R2 )
     => ( ( ( docume1175131570on_j_k @ R2 )
          = V )
       => ( ! [V2: option_element_ptr_a] :
              ( ( V = V2 )
             => ( ( F @ V2 )
                = ( F2 @ V2 ) ) )
         => ( ( docume244715269on_j_k @ F @ R )
            = ( docume244715269on_j_k @ F2 @ R2 ) ) ) ) ) ).

% RDocument.fold_congs(4)
thf(fact_71_RDocument_Ofold__congs_I5_J,axiom,
    ! [R: rObjec1617416918on_j_k,R2: rObjec1617416918on_j_k,V: list_n282880152tr_b_c,F: list_n282880152tr_b_c > list_n282880152tr_b_c,F2: list_n282880152tr_b_c > list_n282880152tr_b_c] :
      ( ( R = R2 )
     => ( ( ( discon866287741on_j_k @ R2 )
          = V )
       => ( ! [V2: list_n282880152tr_b_c] :
              ( ( V = V2 )
             => ( ( F @ V2 )
                = ( F2 @ V2 ) ) )
         => ( ( discon442323090on_j_k @ F @ R )
            = ( discon442323090on_j_k @ F2 @ R2 ) ) ) ) ) ).

% RDocument.fold_congs(5)
thf(fact_72_RDocument_Ounfold__congs_I2_J,axiom,
    ! [R: rObjec1617416918on_j_k,R2: rObjec1617416918on_j_k,V: product_unit,F: product_unit > product_unit,F2: product_unit > product_unit] :
      ( ( R = R2 )
     => ( ( ( nothin757132294on_j_k @ R2 )
          = V )
       => ( ! [V2: product_unit] :
              ( ( V2 = V )
             => ( ( F @ V2 )
                = ( F2 @ V2 ) ) )
         => ( ( nothin1105341917on_j_k @ F @ R )
            = ( nothin1105341917on_j_k @ F2 @ R2 ) ) ) ) ) ).

% RDocument.unfold_congs(2)
thf(fact_73_RDocument_Ofold__congs_I2_J,axiom,
    ! [R: rObjec1617416918on_j_k,R2: rObjec1617416918on_j_k,V: product_unit,F: product_unit > product_unit,F2: product_unit > product_unit] :
      ( ( R = R2 )
     => ( ( ( nothin757132294on_j_k @ R2 )
          = V )
       => ( ! [V2: product_unit] :
              ( ( V = V2 )
             => ( ( F @ V2 )
                = ( F2 @ V2 ) ) )
         => ( ( nothin1105341917on_j_k @ F @ R )
            = ( nothin1105341917on_j_k @ F2 @ R2 ) ) ) ) ) ).

% RDocument.fold_congs(2)
thf(fact_74_length__0__conv,axiom,
    ! [Xs: list_l118626078tr_b_c] :
      ( ( ( size_s9369994tr_b_c @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_li198338206tr_b_c ) ) ).

% length_0_conv
thf(fact_75_length__0__conv,axiom,
    ! [Xs: list_list_char] :
      ( ( ( size_s2008079621t_char @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_list_char ) ) ).

% length_0_conv
thf(fact_76_length__0__conv,axiom,
    ! [Xs: list_char] :
      ( ( ( size_size_list_char @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_char ) ) ).

% length_0_conv
thf(fact_77_length__0__conv,axiom,
    ! [Xs: list_n282880152tr_b_c] :
      ( ( ( size_s2106487044tr_b_c @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_no279930520tr_b_c ) ) ).

% length_0_conv
thf(fact_78_RDocument_Osurjective,axiom,
    ! [R: rObjec1617416918on_j_k] :
      ( R
      = ( rObjec1303043984on_j_k @ ( nothin1567949605on_j_k @ R ) @ ( rDocum427676485on_j_k @ ( nothin757132294on_j_k @ R ) @ ( doctyp814403297on_j_k @ R ) @ ( docume1175131570on_j_k @ R ) @ ( discon866287741on_j_k @ R ) @ ( more_c1453068134on_j_k @ R ) ) ) ) ).

% RDocument.surjective
thf(fact_79_RDocument_Oequality,axiom,
    ! [R: rObjec1617416918on_j_k,R2: rObjec1617416918on_j_k] :
      ( ( ( nothin1567949605on_j_k @ R )
        = ( nothin1567949605on_j_k @ R2 ) )
     => ( ( ( nothin757132294on_j_k @ R )
          = ( nothin757132294on_j_k @ R2 ) )
       => ( ( ( doctyp814403297on_j_k @ R )
            = ( doctyp814403297on_j_k @ R2 ) )
         => ( ( ( docume1175131570on_j_k @ R )
              = ( docume1175131570on_j_k @ R2 ) )
           => ( ( ( discon866287741on_j_k @ R )
                = ( discon866287741on_j_k @ R2 ) )
             => ( ( ( more_c1453068134on_j_k @ R )
                  = ( more_c1453068134on_j_k @ R2 ) )
               => ( R = R2 ) ) ) ) ) ) ) ).

% RDocument.equality
thf(fact_80_option_Osize_I3_J,axiom,
    ( ( size_s7667464on_j_k @ none_R1587534007on_j_k )
    = ( suc @ zero_zero_nat ) ) ).

% option.size(3)
thf(fact_81_option_Osize_I3_J,axiom,
    ( ( size_s1129684517_ptr_a @ none_element_ptr_a )
    = ( suc @ zero_zero_nat ) ) ).

% option.size(3)
thf(fact_82_option_Osize_I3_J,axiom,
    ( ( size_s1129069050on_j_k @ none_S1393028981on_j_k )
    = ( suc @ zero_zero_nat ) ) ).

% option.size(3)
thf(fact_83_list_Osize_I3_J,axiom,
    ( ( size_s9369994tr_b_c @ nil_li198338206tr_b_c )
    = zero_zero_nat ) ).

% list.size(3)
thf(fact_84_list_Osize_I3_J,axiom,
    ( ( size_s2008079621t_char @ nil_list_char )
    = zero_zero_nat ) ).

% list.size(3)
thf(fact_85_list_Osize_I3_J,axiom,
    ( ( size_size_list_char @ nil_char )
    = zero_zero_nat ) ).

% list.size(3)
thf(fact_86_list_Osize_I3_J,axiom,
    ( ( size_s2106487044tr_b_c @ nil_no279930520tr_b_c )
    = zero_zero_nat ) ).

% list.size(3)
thf(fact_87_document__ptr_Osize_I4_J,axiom,
    ! [X2: sum_su1576157353tr_d_e] :
      ( ( size_s724035844tr_d_e @ ( docume1825929374tr_d_e @ X2 ) )
      = ( suc @ zero_zero_nat ) ) ).

% document_ptr.size(4)
thf(fact_88_RObject_Osurjective,axiom,
    ! [R: rObjec1617416918on_j_k] :
      ( R
      = ( rObjec1303043984on_j_k @ ( nothin1567949605on_j_k @ R ) @ ( more_R1625109589on_j_k @ R ) ) ) ).

% RObject.surjective
thf(fact_89_RObject_Osurjective,axiom,
    ! [R: rObjec103300152t_unit] :
      ( R
      = ( rObjec730108904t_unit @ ( nothing_Product_unit @ R ) @ ( more_Product_unit @ R ) ) ) ).

% RObject.surjective
thf(fact_90_document__ptr_Oinject_I2_J,axiom,
    ! [X2: sum_su1576157353tr_d_e,Y2: sum_su1576157353tr_d_e] :
      ( ( ( docume1825929374tr_d_e @ X2 )
        = ( docume1825929374tr_d_e @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% document_ptr.inject(2)
thf(fact_91_neq__if__length__neq,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_n282880152tr_b_c] :
      ( ( ( size_s2106487044tr_b_c @ Xs )
       != ( size_s2106487044tr_b_c @ Ys ) )
     => ( Xs != Ys ) ) ).

% neq_if_length_neq
thf(fact_92_neq__if__length__neq,axiom,
    ! [Xs: list_char,Ys: list_char] :
      ( ( ( size_size_list_char @ Xs )
       != ( size_size_list_char @ Ys ) )
     => ( Xs != Ys ) ) ).

% neq_if_length_neq
thf(fact_93_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs2: list_n282880152tr_b_c] :
      ( ( size_s2106487044tr_b_c @ Xs2 )
      = N ) ).

% Ex_list_of_length
thf(fact_94_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs2: list_char] :
      ( ( size_size_list_char @ Xs2 )
      = N ) ).

% Ex_list_of_length
thf(fact_95_document__ptr_Odistinct_I1_J,axiom,
    ! [X1: nat,X2: sum_su1576157353tr_d_e] :
      ( ( docume1511108976tr_d_e @ X1 )
     != ( docume1825929374tr_d_e @ X2 ) ) ).

% document_ptr.distinct(1)
thf(fact_96_document__ptr_Oinduct,axiom,
    ! [P: docume1935157360tr_d_e > $o,Document_ptr2: docume1935157360tr_d_e] :
      ( ! [X3: nat] : ( P @ ( docume1511108976tr_d_e @ X3 ) )
     => ( ! [X3: sum_su1576157353tr_d_e] : ( P @ ( docume1825929374tr_d_e @ X3 ) )
       => ( P @ Document_ptr2 ) ) ) ).

% document_ptr.induct
thf(fact_97_document__ptr_Oexhaust,axiom,
    ! [Y: docume1935157360tr_d_e] :
      ( ! [X12: nat] :
          ( Y
         != ( docume1511108976tr_d_e @ X12 ) )
     => ~ ! [X22: sum_su1576157353tr_d_e] :
            ( Y
           != ( docume1825929374tr_d_e @ X22 ) ) ) ).

% document_ptr.exhaust
thf(fact_98_RObject_Oselect__convs_I1_J,axiom,
    ! [Nothing: product_unit,More: rDocum326988203on_j_k] :
      ( ( nothin1567949605on_j_k @ ( rObjec1303043984on_j_k @ Nothing @ More ) )
      = Nothing ) ).

% RObject.select_convs(1)
thf(fact_99_RObject_Oselect__convs_I1_J,axiom,
    ! [Nothing: product_unit,More: product_unit] :
      ( ( nothing_Product_unit @ ( rObjec730108904t_unit @ Nothing @ More ) )
      = Nothing ) ).

% RObject.select_convs(1)
thf(fact_100_RObject_Oequality,axiom,
    ! [R: rObjec1617416918on_j_k,R2: rObjec1617416918on_j_k] :
      ( ( ( nothin1567949605on_j_k @ R )
        = ( nothin1567949605on_j_k @ R2 ) )
     => ( ( ( more_R1625109589on_j_k @ R )
          = ( more_R1625109589on_j_k @ R2 ) )
       => ( R = R2 ) ) ) ).

% RObject.equality
thf(fact_101_RObject_Oequality,axiom,
    ! [R: rObjec103300152t_unit,R2: rObjec103300152t_unit] :
      ( ( ( nothing_Product_unit @ R )
        = ( nothing_Product_unit @ R2 ) )
     => ( ( ( more_Product_unit @ R )
          = ( more_Product_unit @ R2 ) )
       => ( R = R2 ) ) ) ).

% RObject.equality
thf(fact_102_option_Osize__neq,axiom,
    ! [X: option2026120038on_j_k] :
      ( ( size_s1129069050on_j_k @ X )
     != zero_zero_nat ) ).

% option.size_neq
thf(fact_103_option_Osize__neq,axiom,
    ! [X: option_element_ptr_a] :
      ( ( size_s1129684517_ptr_a @ X )
     != zero_zero_nat ) ).

% option.size_neq
thf(fact_104_option_Osize__gen_I1_J,axiom,
    ! [X: rObjec1617416918on_j_k > nat] :
      ( ( size_o26122489on_j_k @ X @ none_R1587534007on_j_k )
      = ( suc @ zero_zero_nat ) ) ).

% option.size_gen(1)
thf(fact_105_option_Osize__gen_I1_J,axiom,
    ! [X: element_ptr_a > nat] :
      ( ( size_o1591053974_ptr_a @ X @ none_element_ptr_a )
      = ( suc @ zero_zero_nat ) ) ).

% option.size_gen(1)
thf(fact_106_option_Osize__gen_I1_J,axiom,
    ! [X: sum_su1221287958on_j_k > nat] :
      ( ( size_o1777465779on_j_k @ X @ none_S1393028981on_j_k )
      = ( suc @ zero_zero_nat ) ) ).

% option.size_gen(1)
thf(fact_107_length__code,axiom,
    ( size_s2106487044tr_b_c
    = ( gen_le955068453tr_b_c @ zero_zero_nat ) ) ).

% length_code
thf(fact_108_length__code,axiom,
    ( size_size_list_char
    = ( gen_length_char @ zero_zero_nat ) ) ).

% length_code
thf(fact_109_document__ptr_Osize__gen_I2_J,axiom,
    ! [X: sum_su1576157353tr_d_e > nat,X2: sum_su1576157353tr_d_e] :
      ( ( docume1799427087tr_d_e @ X @ ( docume1825929374tr_d_e @ X2 ) )
      = ( plus_plus_nat @ ( X @ X2 ) @ ( suc @ zero_zero_nat ) ) ) ).

% document_ptr.size_gen(2)
thf(fact_110_cast_092_060_094sub_062O_092_060_094sub_062b_092_060_094sub_062j_092_060_094sub_062e_092_060_094sub_062c_092_060_094sub_062t_092_060_094sub_0622_092_060_094sub_062D_092_060_094sub_062o_092_060_094sub_062c_092_060_094sub_062u_092_060_094sub_062m_092_060_094sub_062e_092_060_094sub_062n_092_060_094sub_062t__none,axiom,
    ! [Obj: rObjec1413572695_j_k_l] :
      ( ( ( cast_O1034441233_j_k_l @ Obj )
        = none_R1587534007on_j_k )
      = ( ~ ? [Document: rObjec1617416918on_j_k] :
              ( ( cast_D1252964113_h_i_l @ Document )
              = Obj ) ) ) ).

% cast\<^sub>O\<^sub>b\<^sub>j\<^sub>e\<^sub>c\<^sub>t\<^sub>2\<^sub>D\<^sub>o\<^sub>c\<^sub>u\<^sub>m\<^sub>e\<^sub>n\<^sub>t_none
thf(fact_111_list__ex1__simps_I1_J,axiom,
    ! [P: list_n282880152tr_b_c > $o] :
      ~ ( list_e529904353tr_b_c @ P @ nil_li198338206tr_b_c ) ).

% list_ex1_simps(1)
thf(fact_112_list__ex1__simps_I1_J,axiom,
    ! [P: list_char > $o] :
      ~ ( list_ex1_list_char @ P @ nil_list_char ) ).

% list_ex1_simps(1)
thf(fact_113_list__ex1__simps_I1_J,axiom,
    ! [P: char > $o] :
      ~ ( list_ex1_char @ P @ nil_char ) ).

% list_ex1_simps(1)
thf(fact_114_list__ex1__simps_I1_J,axiom,
    ! [P: node_p1234578834tr_b_c > $o] :
      ~ ( list_e469495899tr_b_c @ P @ nil_no279930520tr_b_c ) ).

% list_ex1_simps(1)
thf(fact_115_is__document__kind__def,axiom,
    ( is_doc1417632087_j_k_l
    = ( ^ [Ptr: rObjec1413572695_j_k_l] :
          ( ( cast_O1034441233_j_k_l @ Ptr )
         != none_R1587534007on_j_k ) ) ) ).

% is_document_kind_def
thf(fact_116_add__right__cancel,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = ( plus_plus_nat @ C @ A ) )
      = ( B = C ) ) ).

% add_right_cancel
thf(fact_117_add__left__cancel,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = ( plus_plus_nat @ A @ C ) )
      = ( B = C ) ) ).

% add_left_cancel
thf(fact_118_zero__eq__add__iff__both__eq__0,axiom,
    ! [X: nat,Y: nat] :
      ( ( zero_zero_nat
        = ( plus_plus_nat @ X @ Y ) )
      = ( ( X = zero_zero_nat )
        & ( Y = zero_zero_nat ) ) ) ).

% zero_eq_add_iff_both_eq_0
thf(fact_119_add__eq__0__iff__both__eq__0,axiom,
    ! [X: nat,Y: nat] :
      ( ( ( plus_plus_nat @ X @ Y )
        = zero_zero_nat )
      = ( ( X = zero_zero_nat )
        & ( Y = zero_zero_nat ) ) ) ).

% add_eq_0_iff_both_eq_0
thf(fact_120_add__cancel__right__right,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( plus_plus_nat @ A @ B ) )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_right_right
thf(fact_121_add__cancel__right__left,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( plus_plus_nat @ B @ A ) )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_right_left
thf(fact_122_add__cancel__left__right,axiom,
    ! [A: nat,B: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = A )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_left_right
thf(fact_123_add__cancel__left__left,axiom,
    ! [B: nat,A: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = A )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_left_left
thf(fact_124_add_Oright__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% add.right_neutral
thf(fact_125_add_Oleft__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A )
      = A ) ).

% add.left_neutral
thf(fact_126_add__Suc__right,axiom,
    ! [M2: nat,N: nat] :
      ( ( plus_plus_nat @ M2 @ ( suc @ N ) )
      = ( suc @ ( plus_plus_nat @ M2 @ N ) ) ) ).

% add_Suc_right
thf(fact_127_Nat_Oadd__0__right,axiom,
    ! [M2: nat] :
      ( ( plus_plus_nat @ M2 @ zero_zero_nat )
      = M2 ) ).

% Nat.add_0_right
thf(fact_128_add__is__0,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( plus_plus_nat @ M2 @ N )
        = zero_zero_nat )
      = ( ( M2 = zero_zero_nat )
        & ( N = zero_zero_nat ) ) ) ).

% add_is_0
thf(fact_129_gen__length__def,axiom,
    ( gen_le955068453tr_b_c
    = ( ^ [N3: nat,Xs3: list_n282880152tr_b_c] : ( plus_plus_nat @ N3 @ ( size_s2106487044tr_b_c @ Xs3 ) ) ) ) ).

% gen_length_def
thf(fact_130_gen__length__def,axiom,
    ( gen_length_char
    = ( ^ [N3: nat,Xs3: list_char] : ( plus_plus_nat @ N3 @ ( size_size_list_char @ Xs3 ) ) ) ) ).

% gen_length_def
thf(fact_131_add__right__imp__eq,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = ( plus_plus_nat @ C @ A ) )
     => ( B = C ) ) ).

% add_right_imp_eq
thf(fact_132_add__left__imp__eq,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = ( plus_plus_nat @ A @ C ) )
     => ( B = C ) ) ).

% add_left_imp_eq
thf(fact_133_add_Oleft__commute,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( plus_plus_nat @ B @ ( plus_plus_nat @ A @ C ) )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% add.left_commute
thf(fact_134_add_Ocommute,axiom,
    ( plus_plus_nat
    = ( ^ [A3: nat,B2: nat] : ( plus_plus_nat @ B2 @ A3 ) ) ) ).

% add.commute
thf(fact_135_add_Oassoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% add.assoc
thf(fact_136_group__cancel_Oadd2,axiom,
    ! [B3: nat,K: nat,B: nat,A: nat] :
      ( ( B3
        = ( plus_plus_nat @ K @ B ) )
     => ( ( plus_plus_nat @ A @ B3 )
        = ( plus_plus_nat @ K @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_137_group__cancel_Oadd1,axiom,
    ! [A2: nat,K: nat,A: nat,B: nat] :
      ( ( A2
        = ( plus_plus_nat @ K @ A ) )
     => ( ( plus_plus_nat @ A2 @ B )
        = ( plus_plus_nat @ K @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_138_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( I = J )
        & ( K = L ) )
     => ( ( plus_plus_nat @ I @ K )
        = ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_139_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_140_add_Ocomm__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% add.comm_neutral
thf(fact_141_comm__monoid__add__class_Oadd__0,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A )
      = A ) ).

% comm_monoid_add_class.add_0
thf(fact_142_add__Suc,axiom,
    ! [M2: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M2 ) @ N )
      = ( suc @ ( plus_plus_nat @ M2 @ N ) ) ) ).

% add_Suc
thf(fact_143_nat__arith_Osuc1,axiom,
    ! [A2: nat,K: nat,A: nat] :
      ( ( A2
        = ( plus_plus_nat @ K @ A ) )
     => ( ( suc @ A2 )
        = ( plus_plus_nat @ K @ ( suc @ A ) ) ) ) ).

% nat_arith.suc1
thf(fact_144_add__Suc__shift,axiom,
    ! [M2: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M2 ) @ N )
      = ( plus_plus_nat @ M2 @ ( suc @ N ) ) ) ).

% add_Suc_shift
thf(fact_145_add__eq__self__zero,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( plus_plus_nat @ M2 @ N )
        = M2 )
     => ( N = zero_zero_nat ) ) ).

% add_eq_self_zero
thf(fact_146_plus__nat_Oadd__0,axiom,
    ! [N: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ N )
      = N ) ).

% plus_nat.add_0
thf(fact_147_one__is__add,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( suc @ zero_zero_nat )
        = ( plus_plus_nat @ M2 @ N ) )
      = ( ( ( M2
            = ( suc @ zero_zero_nat ) )
          & ( N = zero_zero_nat ) )
        | ( ( M2 = zero_zero_nat )
          & ( N
            = ( suc @ zero_zero_nat ) ) ) ) ) ).

% one_is_add
thf(fact_148_add__is__1,axiom,
    ! [M2: nat,N: nat] :
      ( ( ( plus_plus_nat @ M2 @ N )
        = ( suc @ zero_zero_nat ) )
      = ( ( ( M2
            = ( suc @ zero_zero_nat ) )
          & ( N = zero_zero_nat ) )
        | ( ( M2 = zero_zero_nat )
          & ( N
            = ( suc @ zero_zero_nat ) ) ) ) ) ).

% add_is_1
thf(fact_149_gen__length__code_I1_J,axiom,
    ! [N: nat] :
      ( ( gen_le170886571tr_b_c @ N @ nil_li198338206tr_b_c )
      = N ) ).

% gen_length_code(1)
thf(fact_150_gen__length__code_I1_J,axiom,
    ! [N: nat] :
      ( ( gen_length_list_char @ N @ nil_list_char )
      = N ) ).

% gen_length_code(1)
thf(fact_151_gen__length__code_I1_J,axiom,
    ! [N: nat] :
      ( ( gen_length_char @ N @ nil_char )
      = N ) ).

% gen_length_code(1)
thf(fact_152_gen__length__code_I1_J,axiom,
    ! [N: nat] :
      ( ( gen_le955068453tr_b_c @ N @ nil_no279930520tr_b_c )
      = N ) ).

% gen_length_code(1)
thf(fact_153_Euclid__induct,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A4: nat,B4: nat] :
          ( ( P @ A4 @ B4 )
          = ( P @ B4 @ A4 ) )
     => ( ! [A4: nat] : ( P @ A4 @ zero_zero_nat )
       => ( ! [A4: nat,B4: nat] :
              ( ( P @ A4 @ B4 )
             => ( P @ A4 @ ( plus_plus_nat @ A4 @ B4 ) ) )
         => ( P @ A @ B ) ) ) ) ).

% Euclid_induct
thf(fact_154_triangle__Suc,axiom,
    ! [N: nat] :
      ( ( nat_triangle @ ( suc @ N ) )
      = ( plus_plus_nat @ ( nat_triangle @ N ) @ ( suc @ N ) ) ) ).

% triangle_Suc
thf(fact_155_verit__sum__simplify,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% verit_sum_simplify
thf(fact_156_add__0__iff,axiom,
    ! [B: nat,A: nat] :
      ( ( B
        = ( plus_plus_nat @ B @ A ) )
      = ( A = zero_zero_nat ) ) ).

% add_0_iff
thf(fact_157_option_Osize__gen_I2_J,axiom,
    ! [X: rObjec1617416918on_j_k > nat,X2: rObjec1617416918on_j_k] :
      ( ( size_o26122489on_j_k @ X @ ( some_R67702331on_j_k @ X2 ) )
      = ( plus_plus_nat @ ( X @ X2 ) @ ( suc @ zero_zero_nat ) ) ) ).

% option.size_gen(2)
thf(fact_158_option_Osize__gen_I2_J,axiom,
    ! [X: docume1935157360tr_d_e > nat,X2: docume1935157360tr_d_e] :
      ( ( size_o1635055885tr_d_e @ X @ ( some_d1631029323tr_d_e @ X2 ) )
      = ( plus_plus_nat @ ( X @ X2 ) @ ( suc @ zero_zero_nat ) ) ) ).

% option.size_gen(2)
thf(fact_159_option_Osize__gen_I2_J,axiom,
    ! [X: rObjec1413572695_j_k_l > nat,X2: rObjec1413572695_j_k_l] :
      ( ( size_o310046708_j_k_l @ X @ ( some_R1598191922_j_k_l @ X2 ) )
      = ( plus_plus_nat @ ( X @ X2 ) @ ( suc @ zero_zero_nat ) ) ) ).

% option.size_gen(2)
thf(fact_160_option_Osize__gen_I2_J,axiom,
    ! [X: sum_su1221287958on_j_k > nat,X2: sum_su1221287958on_j_k] :
      ( ( size_o1777465779on_j_k @ X @ ( some_S1960742641on_j_k @ X2 ) )
      = ( plus_plus_nat @ ( X @ X2 ) @ ( suc @ zero_zero_nat ) ) ) ).

% option.size_gen(2)
thf(fact_161_option_Osize__gen_I2_J,axiom,
    ! [X: element_ptr_a > nat,X2: element_ptr_a] :
      ( ( size_o1591053974_ptr_a @ X @ ( some_element_ptr_a @ X2 ) )
      = ( plus_plus_nat @ ( X @ X2 ) @ ( suc @ zero_zero_nat ) ) ) ).

% option.size_gen(2)
thf(fact_162_option_Oinject,axiom,
    ! [X2: sum_su1221287958on_j_k,Y2: sum_su1221287958on_j_k] :
      ( ( ( some_S1960742641on_j_k @ X2 )
        = ( some_S1960742641on_j_k @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% option.inject
thf(fact_163_option_Oinject,axiom,
    ! [X2: element_ptr_a,Y2: element_ptr_a] :
      ( ( ( some_element_ptr_a @ X2 )
        = ( some_element_ptr_a @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% option.inject
thf(fact_164_option_Oinject,axiom,
    ! [X2: rObjec1617416918on_j_k,Y2: rObjec1617416918on_j_k] :
      ( ( ( some_R67702331on_j_k @ X2 )
        = ( some_R67702331on_j_k @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% option.inject
thf(fact_165_option_Oinject,axiom,
    ! [X2: docume1935157360tr_d_e,Y2: docume1935157360tr_d_e] :
      ( ( ( some_d1631029323tr_d_e @ X2 )
        = ( some_d1631029323tr_d_e @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% option.inject
thf(fact_166_option_Oinject,axiom,
    ! [X2: rObjec1413572695_j_k_l,Y2: rObjec1413572695_j_k_l] :
      ( ( ( some_R1598191922_j_k_l @ X2 )
        = ( some_R1598191922_j_k_l @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% option.inject
thf(fact_167_not__Some__eq,axiom,
    ! [X: option841825948on_j_k] :
      ( ( ! [Y4: rObjec1617416918on_j_k] :
            ( X
           != ( some_R67702331on_j_k @ Y4 ) ) )
      = ( X = none_R1587534007on_j_k ) ) ).

% not_Some_eq
thf(fact_168_not__Some__eq,axiom,
    ! [X: option1330818496tr_d_e] :
      ( ( ! [Y4: docume1935157360tr_d_e] :
            ( X
           != ( some_d1631029323tr_d_e @ Y4 ) ) )
      = ( X = none_d1458959567tr_d_e ) ) ).

% not_Some_eq
thf(fact_169_not__Some__eq,axiom,
    ! [X: option1749760295_j_k_l] :
      ( ( ! [Y4: rObjec1413572695_j_k_l] :
            ( X
           != ( some_R1598191922_j_k_l @ Y4 ) ) )
      = ( X = none_R1773662646_j_k_l ) ) ).

% not_Some_eq
thf(fact_170_not__Some__eq,axiom,
    ! [X: option_element_ptr_a] :
      ( ( ! [Y4: element_ptr_a] :
            ( X
           != ( some_element_ptr_a @ Y4 ) ) )
      = ( X = none_element_ptr_a ) ) ).

% not_Some_eq
thf(fact_171_not__Some__eq,axiom,
    ! [X: option2026120038on_j_k] :
      ( ( ! [Y4: sum_su1221287958on_j_k] :
            ( X
           != ( some_S1960742641on_j_k @ Y4 ) ) )
      = ( X = none_S1393028981on_j_k ) ) ).

% not_Some_eq
thf(fact_172_not__None__eq,axiom,
    ! [X: option841825948on_j_k] :
      ( ( X != none_R1587534007on_j_k )
      = ( ? [Y4: rObjec1617416918on_j_k] :
            ( X
            = ( some_R67702331on_j_k @ Y4 ) ) ) ) ).

% not_None_eq
thf(fact_173_not__None__eq,axiom,
    ! [X: option1330818496tr_d_e] :
      ( ( X != none_d1458959567tr_d_e )
      = ( ? [Y4: docume1935157360tr_d_e] :
            ( X
            = ( some_d1631029323tr_d_e @ Y4 ) ) ) ) ).

% not_None_eq
thf(fact_174_not__None__eq,axiom,
    ! [X: option1749760295_j_k_l] :
      ( ( X != none_R1773662646_j_k_l )
      = ( ? [Y4: rObjec1413572695_j_k_l] :
            ( X
            = ( some_R1598191922_j_k_l @ Y4 ) ) ) ) ).

% not_None_eq
thf(fact_175_not__None__eq,axiom,
    ! [X: option_element_ptr_a] :
      ( ( X != none_element_ptr_a )
      = ( ? [Y4: element_ptr_a] :
            ( X
            = ( some_element_ptr_a @ Y4 ) ) ) ) ).

% not_None_eq
thf(fact_176_not__None__eq,axiom,
    ! [X: option2026120038on_j_k] :
      ( ( X != none_S1393028981on_j_k )
      = ( ? [Y4: sum_su1221287958on_j_k] :
            ( X
            = ( some_S1960742641on_j_k @ Y4 ) ) ) ) ).

% not_None_eq
thf(fact_177_triangle__0,axiom,
    ( ( nat_triangle @ zero_zero_nat )
    = zero_zero_nat ) ).

% triangle_0
thf(fact_178_cast_092_060_094sub_062O_092_060_094sub_062b_092_060_094sub_062j_092_060_094sub_062e_092_060_094sub_062c_092_060_094sub_062t_092_060_094sub_0622_092_060_094sub_062D_092_060_094sub_062o_092_060_094sub_062c_092_060_094sub_062u_092_060_094sub_062m_092_060_094sub_062e_092_060_094sub_062n_092_060_094sub_062t__inv,axiom,
    ! [Document2: rObjec1617416918on_j_k] :
      ( ( cast_O1034441233_j_k_l @ ( cast_D1252964113_h_i_l @ Document2 ) )
      = ( some_R67702331on_j_k @ Document2 ) ) ).

% cast\<^sub>O\<^sub>b\<^sub>j\<^sub>e\<^sub>c\<^sub>t\<^sub>2\<^sub>D\<^sub>o\<^sub>c\<^sub>u\<^sub>m\<^sub>e\<^sub>n\<^sub>t_inv
thf(fact_179_cast_092_060_094sub_062O_092_060_094sub_062b_092_060_094sub_062j_092_060_094sub_062e_092_060_094sub_062c_092_060_094sub_062t_092_060_094sub_0622_092_060_094sub_062D_092_060_094sub_062o_092_060_094sub_062c_092_060_094sub_062u_092_060_094sub_062m_092_060_094sub_062e_092_060_094sub_062n_092_060_094sub_062t__some,axiom,
    ! [Obj: rObjec1413572695_j_k_l,Document2: rObjec1617416918on_j_k] :
      ( ( ( cast_O1034441233_j_k_l @ Obj )
        = ( some_R67702331on_j_k @ Document2 ) )
      = ( ( cast_D1252964113_h_i_l @ Document2 )
        = Obj ) ) ).

% cast\<^sub>O\<^sub>b\<^sub>j\<^sub>e\<^sub>c\<^sub>t\<^sub>2\<^sub>D\<^sub>o\<^sub>c\<^sub>u\<^sub>m\<^sub>e\<^sub>n\<^sub>t_some
thf(fact_180_option_Odistinct_I1_J,axiom,
    ! [X2: rObjec1617416918on_j_k] :
      ( none_R1587534007on_j_k
     != ( some_R67702331on_j_k @ X2 ) ) ).

% option.distinct(1)
thf(fact_181_option_Odistinct_I1_J,axiom,
    ! [X2: docume1935157360tr_d_e] :
      ( none_d1458959567tr_d_e
     != ( some_d1631029323tr_d_e @ X2 ) ) ).

% option.distinct(1)
thf(fact_182_option_Odistinct_I1_J,axiom,
    ! [X2: rObjec1413572695_j_k_l] :
      ( none_R1773662646_j_k_l
     != ( some_R1598191922_j_k_l @ X2 ) ) ).

% option.distinct(1)
thf(fact_183_option_Odistinct_I1_J,axiom,
    ! [X2: element_ptr_a] :
      ( none_element_ptr_a
     != ( some_element_ptr_a @ X2 ) ) ).

% option.distinct(1)
thf(fact_184_option_Odistinct_I1_J,axiom,
    ! [X2: sum_su1221287958on_j_k] :
      ( none_S1393028981on_j_k
     != ( some_S1960742641on_j_k @ X2 ) ) ).

% option.distinct(1)
thf(fact_185_option_OdiscI,axiom,
    ! [Option: option841825948on_j_k,X2: rObjec1617416918on_j_k] :
      ( ( Option
        = ( some_R67702331on_j_k @ X2 ) )
     => ( Option != none_R1587534007on_j_k ) ) ).

% option.discI
thf(fact_186_option_OdiscI,axiom,
    ! [Option: option1330818496tr_d_e,X2: docume1935157360tr_d_e] :
      ( ( Option
        = ( some_d1631029323tr_d_e @ X2 ) )
     => ( Option != none_d1458959567tr_d_e ) ) ).

% option.discI
thf(fact_187_option_OdiscI,axiom,
    ! [Option: option1749760295_j_k_l,X2: rObjec1413572695_j_k_l] :
      ( ( Option
        = ( some_R1598191922_j_k_l @ X2 ) )
     => ( Option != none_R1773662646_j_k_l ) ) ).

% option.discI
thf(fact_188_option_OdiscI,axiom,
    ! [Option: option_element_ptr_a,X2: element_ptr_a] :
      ( ( Option
        = ( some_element_ptr_a @ X2 ) )
     => ( Option != none_element_ptr_a ) ) ).

% option.discI
thf(fact_189_option_OdiscI,axiom,
    ! [Option: option2026120038on_j_k,X2: sum_su1221287958on_j_k] :
      ( ( Option
        = ( some_S1960742641on_j_k @ X2 ) )
     => ( Option != none_S1393028981on_j_k ) ) ).

% option.discI
thf(fact_190_option_Oexhaust,axiom,
    ! [Y: option_element_ptr_a] :
      ( ( Y != none_element_ptr_a )
     => ~ ! [X22: element_ptr_a] :
            ( Y
           != ( some_element_ptr_a @ X22 ) ) ) ).

% option.exhaust
thf(fact_191_option_Oexhaust,axiom,
    ! [Y: option2026120038on_j_k] :
      ( ( Y != none_S1393028981on_j_k )
     => ~ ! [X22: sum_su1221287958on_j_k] :
            ( Y
           != ( some_S1960742641on_j_k @ X22 ) ) ) ).

% option.exhaust
thf(fact_192_option_Oinducts,axiom,
    ! [P: option_element_ptr_a > $o,Option: option_element_ptr_a] :
      ( ( P @ none_element_ptr_a )
     => ( ! [X3: element_ptr_a] : ( P @ ( some_element_ptr_a @ X3 ) )
       => ( P @ Option ) ) ) ).

% option.inducts
thf(fact_193_option_Oinducts,axiom,
    ! [P: option2026120038on_j_k > $o,Option: option2026120038on_j_k] :
      ( ( P @ none_S1393028981on_j_k )
     => ( ! [X3: sum_su1221287958on_j_k] : ( P @ ( some_S1960742641on_j_k @ X3 ) )
       => ( P @ Option ) ) ) ).

% option.inducts
thf(fact_194_split__option__ex,axiom,
    ( ( ^ [P2: option_element_ptr_a > $o] :
        ? [X5: option_element_ptr_a] : ( P2 @ X5 ) )
    = ( ^ [P3: option_element_ptr_a > $o] :
          ( ( P3 @ none_element_ptr_a )
          | ? [X4: element_ptr_a] : ( P3 @ ( some_element_ptr_a @ X4 ) ) ) ) ) ).

% split_option_ex
thf(fact_195_split__option__ex,axiom,
    ( ( ^ [P2: option2026120038on_j_k > $o] :
        ? [X5: option2026120038on_j_k] : ( P2 @ X5 ) )
    = ( ^ [P3: option2026120038on_j_k > $o] :
          ( ( P3 @ none_S1393028981on_j_k )
          | ? [X4: sum_su1221287958on_j_k] : ( P3 @ ( some_S1960742641on_j_k @ X4 ) ) ) ) ) ).

% split_option_ex
thf(fact_196_split__option__all,axiom,
    ( ( ^ [P2: option_element_ptr_a > $o] :
        ! [X5: option_element_ptr_a] : ( P2 @ X5 ) )
    = ( ^ [P3: option_element_ptr_a > $o] :
          ( ( P3 @ none_element_ptr_a )
          & ! [X4: element_ptr_a] : ( P3 @ ( some_element_ptr_a @ X4 ) ) ) ) ) ).

% split_option_all
thf(fact_197_split__option__all,axiom,
    ( ( ^ [P2: option2026120038on_j_k > $o] :
        ! [X5: option2026120038on_j_k] : ( P2 @ X5 ) )
    = ( ^ [P3: option2026120038on_j_k > $o] :
          ( ( P3 @ none_S1393028981on_j_k )
          & ! [X4: sum_su1221287958on_j_k] : ( P3 @ ( some_S1960742641on_j_k @ X4 ) ) ) ) ) ).

% split_option_all
thf(fact_198_combine__options__cases,axiom,
    ! [X: option_element_ptr_a,P: option_element_ptr_a > option_element_ptr_a > $o,Y: option_element_ptr_a] :
      ( ( ( X = none_element_ptr_a )
       => ( P @ X @ Y ) )
     => ( ( ( Y = none_element_ptr_a )
         => ( P @ X @ Y ) )
       => ( ! [A4: element_ptr_a,B4: element_ptr_a] :
              ( ( X
                = ( some_element_ptr_a @ A4 ) )
             => ( ( Y
                  = ( some_element_ptr_a @ B4 ) )
               => ( P @ X @ Y ) ) )
         => ( P @ X @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_199_combine__options__cases,axiom,
    ! [X: option_element_ptr_a,P: option_element_ptr_a > option2026120038on_j_k > $o,Y: option2026120038on_j_k] :
      ( ( ( X = none_element_ptr_a )
       => ( P @ X @ Y ) )
     => ( ( ( Y = none_S1393028981on_j_k )
         => ( P @ X @ Y ) )
       => ( ! [A4: element_ptr_a,B4: sum_su1221287958on_j_k] :
              ( ( X
                = ( some_element_ptr_a @ A4 ) )
             => ( ( Y
                  = ( some_S1960742641on_j_k @ B4 ) )
               => ( P @ X @ Y ) ) )
         => ( P @ X @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_200_combine__options__cases,axiom,
    ! [X: option2026120038on_j_k,P: option2026120038on_j_k > option_element_ptr_a > $o,Y: option_element_ptr_a] :
      ( ( ( X = none_S1393028981on_j_k )
       => ( P @ X @ Y ) )
     => ( ( ( Y = none_element_ptr_a )
         => ( P @ X @ Y ) )
       => ( ! [A4: sum_su1221287958on_j_k,B4: element_ptr_a] :
              ( ( X
                = ( some_S1960742641on_j_k @ A4 ) )
             => ( ( Y
                  = ( some_element_ptr_a @ B4 ) )
               => ( P @ X @ Y ) ) )
         => ( P @ X @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_201_combine__options__cases,axiom,
    ! [X: option2026120038on_j_k,P: option2026120038on_j_k > option2026120038on_j_k > $o,Y: option2026120038on_j_k] :
      ( ( ( X = none_S1393028981on_j_k )
       => ( P @ X @ Y ) )
     => ( ( ( Y = none_S1393028981on_j_k )
         => ( P @ X @ Y ) )
       => ( ! [A4: sum_su1221287958on_j_k,B4: sum_su1221287958on_j_k] :
              ( ( X
                = ( some_S1960742641on_j_k @ A4 ) )
             => ( ( Y
                  = ( some_S1960742641on_j_k @ B4 ) )
               => ( P @ X @ Y ) ) )
         => ( P @ X @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_202_document__ptr__casts__commute2,axiom,
    ! [Document_ptr2: docume1935157360tr_d_e] :
      ( ( cast_o761049241_d_e_f @ ( cast_d1608273229_b_c_f @ Document_ptr2 ) )
      = ( some_d1631029323tr_d_e @ Document_ptr2 ) ) ).

% document_ptr_casts_commute2
thf(fact_203_document__ptr__casts__commute,axiom,
    ! [Ptr2: object945351580_d_e_f,Document_ptr2: docume1935157360tr_d_e] :
      ( ( ( cast_o761049241_d_e_f @ Ptr2 )
        = ( some_d1631029323tr_d_e @ Document_ptr2 ) )
      = ( ( cast_d1608273229_b_c_f @ Document_ptr2 )
        = Ptr2 ) ) ).

% document_ptr_casts_commute
thf(fact_204_get__document__ptr__simp,axiom,
    ! [Ptr2: object945351580_d_e_f,Document_ptr2: docume1935157360tr_d_e,Obj: rObjec1413572695_j_k_l,H: heap_S1465075775_j_k_l] :
      ( ( ( Ptr2
          = ( cast_d1608273229_b_c_f @ Document_ptr2 ) )
       => ( ( get_D_1192261494_j_k_l @ Document_ptr2 @ ( put_O_834343516_j_k_l @ Ptr2 @ Obj @ H ) )
          = ( cast_O1034441233_j_k_l @ Obj ) ) )
      & ( ( Ptr2
         != ( cast_d1608273229_b_c_f @ Document_ptr2 ) )
       => ( ( get_D_1192261494_j_k_l @ Document_ptr2 @ ( put_O_834343516_j_k_l @ Ptr2 @ Obj @ H ) )
          = ( get_D_1192261494_j_k_l @ Document_ptr2 @ H ) ) ) ) ).

% get_document_ptr_simp
thf(fact_205_split__Nil__iff,axiom,
    ! [Xs: list_char,Ys: list_char] :
      ( ( ( splice_char @ Xs @ Ys )
        = nil_char )
      = ( ( Xs = nil_char )
        & ( Ys = nil_char ) ) ) ).

% split_Nil_iff
thf(fact_206_split__Nil__iff,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_n282880152tr_b_c] :
      ( ( ( splice1294941035tr_b_c @ Xs @ Ys )
        = nil_no279930520tr_b_c )
      = ( ( Xs = nil_no279930520tr_b_c )
        & ( Ys = nil_no279930520tr_b_c ) ) ) ).

% split_Nil_iff
thf(fact_207_splice__Nil2,axiom,
    ! [Xs: list_char] :
      ( ( splice_char @ Xs @ nil_char )
      = Xs ) ).

% splice_Nil2
thf(fact_208_splice__Nil2,axiom,
    ! [Xs: list_n282880152tr_b_c] :
      ( ( splice1294941035tr_b_c @ Xs @ nil_no279930520tr_b_c )
      = Xs ) ).

% splice_Nil2
thf(fact_209_splice_Osimps_I1_J,axiom,
    ! [Ys: list_char] :
      ( ( splice_char @ nil_char @ Ys )
      = Ys ) ).

% splice.simps(1)
thf(fact_210_splice_Osimps_I1_J,axiom,
    ! [Ys: list_n282880152tr_b_c] :
      ( ( splice1294941035tr_b_c @ nil_no279930520tr_b_c @ Ys )
      = Ys ) ).

% splice.simps(1)
thf(fact_211_get__object__ptr__simp1,axiom,
    ! [Object_ptr: object945351580_d_e_f,Object: rObjec1413572695_j_k_l,H: heap_S1465075775_j_k_l] :
      ( ( get_O_623850005_j_k_l @ Object_ptr @ ( put_O_834343516_j_k_l @ Object_ptr @ Object @ H ) )
      = ( some_R1598191922_j_k_l @ Object ) ) ).

% get_object_ptr_simp1
thf(fact_212_count__list_Osimps_I1_J,axiom,
    ! [Y: char] :
      ( ( count_list_char @ nil_char @ Y )
      = zero_zero_nat ) ).

% count_list.simps(1)
thf(fact_213_count__list_Osimps_I1_J,axiom,
    ! [Y: node_p1234578834tr_b_c] :
      ( ( count_2128515342tr_b_c @ nil_no279930520tr_b_c @ Y )
      = zero_zero_nat ) ).

% count_list.simps(1)
thf(fact_214_get__object__ptr__simp2,axiom,
    ! [Object_ptr: object945351580_d_e_f,Object_ptr2: object945351580_d_e_f,Object: rObjec1413572695_j_k_l,H: heap_S1465075775_j_k_l] :
      ( ( Object_ptr != Object_ptr2 )
     => ( ( get_O_623850005_j_k_l @ Object_ptr @ ( put_O_834343516_j_k_l @ Object_ptr2 @ Object @ H ) )
        = ( get_O_623850005_j_k_l @ Object_ptr @ H ) ) ) ).

% get_object_ptr_simp2
thf(fact_215_transpose_Ocases,axiom,
    ! [X: list_list_char] :
      ( ( X != nil_list_char )
     => ( ! [Xss: list_list_char] :
            ( X
           != ( cons_list_char @ nil_char @ Xss ) )
       => ~ ! [X3: char,Xs2: list_char,Xss: list_list_char] :
              ( X
             != ( cons_list_char @ ( cons_char @ X3 @ Xs2 ) @ Xss ) ) ) ) ).

% transpose.cases
thf(fact_216_transpose_Ocases,axiom,
    ! [X: list_l118626078tr_b_c] :
      ( ( X != nil_li198338206tr_b_c )
     => ( ! [Xss: list_l118626078tr_b_c] :
            ( X
           != ( cons_l1809994318tr_b_c @ nil_no279930520tr_b_c @ Xss ) )
       => ~ ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c,Xss: list_l118626078tr_b_c] :
              ( X
             != ( cons_l1809994318tr_b_c @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ Xss ) ) ) ) ).

% transpose.cases
thf(fact_217_list_Odistinct_I1_J,axiom,
    ! [X21: char,X222: list_char] :
      ( nil_char
     != ( cons_char @ X21 @ X222 ) ) ).

% list.distinct(1)
thf(fact_218_list_Odistinct_I1_J,axiom,
    ! [X21: node_p1234578834tr_b_c,X222: list_n282880152tr_b_c] :
      ( nil_no279930520tr_b_c
     != ( cons_n413985352tr_b_c @ X21 @ X222 ) ) ).

% list.distinct(1)
thf(fact_219_list_OdiscI,axiom,
    ! [List: list_char,X21: char,X222: list_char] :
      ( ( List
        = ( cons_char @ X21 @ X222 ) )
     => ( List != nil_char ) ) ).

% list.discI
thf(fact_220_list_OdiscI,axiom,
    ! [List: list_n282880152tr_b_c,X21: node_p1234578834tr_b_c,X222: list_n282880152tr_b_c] :
      ( ( List
        = ( cons_n413985352tr_b_c @ X21 @ X222 ) )
     => ( List != nil_no279930520tr_b_c ) ) ).

% list.discI
thf(fact_221_list_Oexhaust,axiom,
    ! [Y: list_char] :
      ( ( Y != nil_char )
     => ~ ! [X212: char,X223: list_char] :
            ( Y
           != ( cons_char @ X212 @ X223 ) ) ) ).

% list.exhaust
thf(fact_222_list_Oexhaust,axiom,
    ! [Y: list_n282880152tr_b_c] :
      ( ( Y != nil_no279930520tr_b_c )
     => ~ ! [X212: node_p1234578834tr_b_c,X223: list_n282880152tr_b_c] :
            ( Y
           != ( cons_n413985352tr_b_c @ X212 @ X223 ) ) ) ).

% list.exhaust
thf(fact_223_list_Oinducts,axiom,
    ! [P: list_char > $o,List: list_char] :
      ( ( P @ nil_char )
     => ( ! [X12: char,X22: list_char] :
            ( ( P @ X22 )
           => ( P @ ( cons_char @ X12 @ X22 ) ) )
       => ( P @ List ) ) ) ).

% list.inducts
thf(fact_224_list_Oinducts,axiom,
    ! [P: list_n282880152tr_b_c > $o,List: list_n282880152tr_b_c] :
      ( ( P @ nil_no279930520tr_b_c )
     => ( ! [X12: node_p1234578834tr_b_c,X22: list_n282880152tr_b_c] :
            ( ( P @ X22 )
           => ( P @ ( cons_n413985352tr_b_c @ X12 @ X22 ) ) )
       => ( P @ List ) ) ) ).

% list.inducts
thf(fact_225_neq__Nil__conv,axiom,
    ! [Xs: list_char] :
      ( ( Xs != nil_char )
      = ( ? [Y4: char,Ys2: list_char] :
            ( Xs
            = ( cons_char @ Y4 @ Ys2 ) ) ) ) ).

% neq_Nil_conv
thf(fact_226_neq__Nil__conv,axiom,
    ! [Xs: list_n282880152tr_b_c] :
      ( ( Xs != nil_no279930520tr_b_c )
      = ( ? [Y4: node_p1234578834tr_b_c,Ys2: list_n282880152tr_b_c] :
            ( Xs
            = ( cons_n413985352tr_b_c @ Y4 @ Ys2 ) ) ) ) ).

% neq_Nil_conv
thf(fact_227_list__induct2_H,axiom,
    ! [P: list_char > list_char > $o,Xs: list_char,Ys: list_char] :
      ( ( P @ nil_char @ nil_char )
     => ( ! [X3: char,Xs2: list_char] : ( P @ ( cons_char @ X3 @ Xs2 ) @ nil_char )
       => ( ! [Y3: char,Ys3: list_char] : ( P @ nil_char @ ( cons_char @ Y3 @ Ys3 ) )
         => ( ! [X3: char,Xs2: list_char,Y3: char,Ys3: list_char] :
                ( ( P @ Xs2 @ Ys3 )
               => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) ) )
           => ( P @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_228_list__induct2_H,axiom,
    ! [P: list_char > list_n282880152tr_b_c > $o,Xs: list_char,Ys: list_n282880152tr_b_c] :
      ( ( P @ nil_char @ nil_no279930520tr_b_c )
     => ( ! [X3: char,Xs2: list_char] : ( P @ ( cons_char @ X3 @ Xs2 ) @ nil_no279930520tr_b_c )
       => ( ! [Y3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c] : ( P @ nil_char @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) )
         => ( ! [X3: char,Xs2: list_char,Y3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c] :
                ( ( P @ Xs2 @ Ys3 )
               => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) ) )
           => ( P @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_229_list__induct2_H,axiom,
    ! [P: list_n282880152tr_b_c > list_char > $o,Xs: list_n282880152tr_b_c,Ys: list_char] :
      ( ( P @ nil_no279930520tr_b_c @ nil_char )
     => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c] : ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ nil_char )
       => ( ! [Y3: char,Ys3: list_char] : ( P @ nil_no279930520tr_b_c @ ( cons_char @ Y3 @ Ys3 ) )
         => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c,Y3: char,Ys3: list_char] :
                ( ( P @ Xs2 @ Ys3 )
               => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) ) )
           => ( P @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_230_list__induct2_H,axiom,
    ! [P: list_n282880152tr_b_c > list_n282880152tr_b_c > $o,Xs: list_n282880152tr_b_c,Ys: list_n282880152tr_b_c] :
      ( ( P @ nil_no279930520tr_b_c @ nil_no279930520tr_b_c )
     => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c] : ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ nil_no279930520tr_b_c )
       => ( ! [Y3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c] : ( P @ nil_no279930520tr_b_c @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) )
         => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c,Y3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c] :
                ( ( P @ Xs2 @ Ys3 )
               => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) ) )
           => ( P @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_231_splice_Oinduct,axiom,
    ! [P: list_char > list_char > $o,A0: list_char,A1: list_char] :
      ( ! [X_12: list_char] : ( P @ nil_char @ X_12 )
     => ( ! [X3: char,Xs2: list_char,Ys3: list_char] :
            ( ( P @ Ys3 @ Xs2 )
           => ( P @ ( cons_char @ X3 @ Xs2 ) @ Ys3 ) )
       => ( P @ A0 @ A1 ) ) ) ).

% splice.induct
thf(fact_232_splice_Oinduct,axiom,
    ! [P: list_n282880152tr_b_c > list_n282880152tr_b_c > $o,A0: list_n282880152tr_b_c,A1: list_n282880152tr_b_c] :
      ( ! [X_12: list_n282880152tr_b_c] : ( P @ nil_no279930520tr_b_c @ X_12 )
     => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c,Ys3: list_n282880152tr_b_c] :
            ( ( P @ Ys3 @ Xs2 )
           => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ Ys3 ) )
       => ( P @ A0 @ A1 ) ) ) ).

% splice.induct
thf(fact_233_induct__list012,axiom,
    ! [P: list_char > $o,Xs: list_char] :
      ( ( P @ nil_char )
     => ( ! [X3: char] : ( P @ ( cons_char @ X3 @ nil_char ) )
       => ( ! [X3: char,Y3: char,Zs: list_char] :
              ( ( P @ Zs )
             => ( ( P @ ( cons_char @ Y3 @ Zs ) )
               => ( P @ ( cons_char @ X3 @ ( cons_char @ Y3 @ Zs ) ) ) ) )
         => ( P @ Xs ) ) ) ) ).

% induct_list012
thf(fact_234_induct__list012,axiom,
    ! [P: list_n282880152tr_b_c > $o,Xs: list_n282880152tr_b_c] :
      ( ( P @ nil_no279930520tr_b_c )
     => ( ! [X3: node_p1234578834tr_b_c] : ( P @ ( cons_n413985352tr_b_c @ X3 @ nil_no279930520tr_b_c ) )
       => ( ! [X3: node_p1234578834tr_b_c,Y3: node_p1234578834tr_b_c,Zs: list_n282880152tr_b_c] :
              ( ( P @ Zs )
             => ( ( P @ ( cons_n413985352tr_b_c @ Y3 @ Zs ) )
               => ( P @ ( cons_n413985352tr_b_c @ X3 @ ( cons_n413985352tr_b_c @ Y3 @ Zs ) ) ) ) )
         => ( P @ Xs ) ) ) ) ).

% induct_list012
thf(fact_235_shuffles_Oinduct,axiom,
    ! [P: list_char > list_char > $o,A0: list_char,A1: list_char] :
      ( ! [X_12: list_char] : ( P @ nil_char @ X_12 )
     => ( ! [Xs2: list_char] : ( P @ Xs2 @ nil_char )
       => ( ! [X3: char,Xs2: list_char,Y3: char,Ys3: list_char] :
              ( ( P @ Xs2 @ ( cons_char @ Y3 @ Ys3 ) )
             => ( ( P @ ( cons_char @ X3 @ Xs2 ) @ Ys3 )
               => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) ) ) )
         => ( P @ A0 @ A1 ) ) ) ) ).

% shuffles.induct
thf(fact_236_shuffles_Oinduct,axiom,
    ! [P: list_n282880152tr_b_c > list_n282880152tr_b_c > $o,A0: list_n282880152tr_b_c,A1: list_n282880152tr_b_c] :
      ( ! [X_12: list_n282880152tr_b_c] : ( P @ nil_no279930520tr_b_c @ X_12 )
     => ( ! [Xs2: list_n282880152tr_b_c] : ( P @ Xs2 @ nil_no279930520tr_b_c )
       => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c,Y3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c] :
              ( ( P @ Xs2 @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) )
             => ( ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ Ys3 )
               => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) ) ) )
         => ( P @ A0 @ A1 ) ) ) ) ).

% shuffles.induct
thf(fact_237_remdups__adj_Ocases,axiom,
    ! [X: list_char] :
      ( ( X != nil_char )
     => ( ! [X3: char] :
            ( X
           != ( cons_char @ X3 @ nil_char ) )
       => ~ ! [X3: char,Y3: char,Xs2: list_char] :
              ( X
             != ( cons_char @ X3 @ ( cons_char @ Y3 @ Xs2 ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_238_remdups__adj_Ocases,axiom,
    ! [X: list_n282880152tr_b_c] :
      ( ( X != nil_no279930520tr_b_c )
     => ( ! [X3: node_p1234578834tr_b_c] :
            ( X
           != ( cons_n413985352tr_b_c @ X3 @ nil_no279930520tr_b_c ) )
       => ~ ! [X3: node_p1234578834tr_b_c,Y3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c] :
              ( X
             != ( cons_n413985352tr_b_c @ X3 @ ( cons_n413985352tr_b_c @ Y3 @ Xs2 ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_239_sorted__wrt_Oinduct,axiom,
    ! [P: ( char > char > $o ) > list_char > $o,A0: char > char > $o,A1: list_char] :
      ( ! [P4: char > char > $o] : ( P @ P4 @ nil_char )
     => ( ! [P4: char > char > $o,X3: char,Ys3: list_char] :
            ( ( P @ P4 @ Ys3 )
           => ( P @ P4 @ ( cons_char @ X3 @ Ys3 ) ) )
       => ( P @ A0 @ A1 ) ) ) ).

% sorted_wrt.induct
thf(fact_240_sorted__wrt_Oinduct,axiom,
    ! [P: ( node_p1234578834tr_b_c > node_p1234578834tr_b_c > $o ) > list_n282880152tr_b_c > $o,A0: node_p1234578834tr_b_c > node_p1234578834tr_b_c > $o,A1: list_n282880152tr_b_c] :
      ( ! [P4: node_p1234578834tr_b_c > node_p1234578834tr_b_c > $o] : ( P @ P4 @ nil_no279930520tr_b_c )
     => ( ! [P4: node_p1234578834tr_b_c > node_p1234578834tr_b_c > $o,X3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c] :
            ( ( P @ P4 @ Ys3 )
           => ( P @ P4 @ ( cons_n413985352tr_b_c @ X3 @ Ys3 ) ) )
       => ( P @ A0 @ A1 ) ) ) ).

% sorted_wrt.induct
thf(fact_241_remdups__adj_Oinduct,axiom,
    ! [P: list_char > $o,A0: list_char] :
      ( ( P @ nil_char )
     => ( ! [X3: char] : ( P @ ( cons_char @ X3 @ nil_char ) )
       => ( ! [X3: char,Y3: char,Xs2: list_char] :
              ( ( ( X3 = Y3 )
               => ( P @ ( cons_char @ X3 @ Xs2 ) ) )
             => ( ( ( X3 != Y3 )
                 => ( P @ ( cons_char @ Y3 @ Xs2 ) ) )
               => ( P @ ( cons_char @ X3 @ ( cons_char @ Y3 @ Xs2 ) ) ) ) )
         => ( P @ A0 ) ) ) ) ).

% remdups_adj.induct
thf(fact_242_remdups__adj_Oinduct,axiom,
    ! [P: list_n282880152tr_b_c > $o,A0: list_n282880152tr_b_c] :
      ( ( P @ nil_no279930520tr_b_c )
     => ( ! [X3: node_p1234578834tr_b_c] : ( P @ ( cons_n413985352tr_b_c @ X3 @ nil_no279930520tr_b_c ) )
       => ( ! [X3: node_p1234578834tr_b_c,Y3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c] :
              ( ( ( X3 = Y3 )
               => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) ) )
             => ( ( ( X3 != Y3 )
                 => ( P @ ( cons_n413985352tr_b_c @ Y3 @ Xs2 ) ) )
               => ( P @ ( cons_n413985352tr_b_c @ X3 @ ( cons_n413985352tr_b_c @ Y3 @ Xs2 ) ) ) ) )
         => ( P @ A0 ) ) ) ) ).

% remdups_adj.induct
thf(fact_243_successively_Oinduct,axiom,
    ! [P: ( char > char > $o ) > list_char > $o,A0: char > char > $o,A1: list_char] :
      ( ! [P4: char > char > $o] : ( P @ P4 @ nil_char )
     => ( ! [P4: char > char > $o,X3: char] : ( P @ P4 @ ( cons_char @ X3 @ nil_char ) )
       => ( ! [P4: char > char > $o,X3: char,Y3: char,Xs2: list_char] :
              ( ( P @ P4 @ ( cons_char @ Y3 @ Xs2 ) )
             => ( P @ P4 @ ( cons_char @ X3 @ ( cons_char @ Y3 @ Xs2 ) ) ) )
         => ( P @ A0 @ A1 ) ) ) ) ).

% successively.induct
thf(fact_244_successively_Oinduct,axiom,
    ! [P: ( node_p1234578834tr_b_c > node_p1234578834tr_b_c > $o ) > list_n282880152tr_b_c > $o,A0: node_p1234578834tr_b_c > node_p1234578834tr_b_c > $o,A1: list_n282880152tr_b_c] :
      ( ! [P4: node_p1234578834tr_b_c > node_p1234578834tr_b_c > $o] : ( P @ P4 @ nil_no279930520tr_b_c )
     => ( ! [P4: node_p1234578834tr_b_c > node_p1234578834tr_b_c > $o,X3: node_p1234578834tr_b_c] : ( P @ P4 @ ( cons_n413985352tr_b_c @ X3 @ nil_no279930520tr_b_c ) )
       => ( ! [P4: node_p1234578834tr_b_c > node_p1234578834tr_b_c > $o,X3: node_p1234578834tr_b_c,Y3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c] :
              ( ( P @ P4 @ ( cons_n413985352tr_b_c @ Y3 @ Xs2 ) )
             => ( P @ P4 @ ( cons_n413985352tr_b_c @ X3 @ ( cons_n413985352tr_b_c @ Y3 @ Xs2 ) ) ) )
         => ( P @ A0 @ A1 ) ) ) ) ).

% successively.induct
thf(fact_245_list__nonempty__induct,axiom,
    ! [Xs: list_char,P: list_char > $o] :
      ( ( Xs != nil_char )
     => ( ! [X3: char] : ( P @ ( cons_char @ X3 @ nil_char ) )
       => ( ! [X3: char,Xs2: list_char] :
              ( ( Xs2 != nil_char )
             => ( ( P @ Xs2 )
               => ( P @ ( cons_char @ X3 @ Xs2 ) ) ) )
         => ( P @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_246_list__nonempty__induct,axiom,
    ! [Xs: list_n282880152tr_b_c,P: list_n282880152tr_b_c > $o] :
      ( ( Xs != nil_no279930520tr_b_c )
     => ( ! [X3: node_p1234578834tr_b_c] : ( P @ ( cons_n413985352tr_b_c @ X3 @ nil_no279930520tr_b_c ) )
       => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c] :
              ( ( Xs2 != nil_no279930520tr_b_c )
             => ( ( P @ Xs2 )
               => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) ) ) )
         => ( P @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_247_list__induct4,axiom,
    ! [Xs: list_char,Ys: list_char,Zs2: list_char,Ws: list_char,P: list_char > list_char > list_char > list_char > $o] :
      ( ( ( size_size_list_char @ Xs )
        = ( size_size_list_char @ Ys ) )
     => ( ( ( size_size_list_char @ Ys )
          = ( size_size_list_char @ Zs2 ) )
       => ( ( ( size_size_list_char @ Zs2 )
            = ( size_size_list_char @ Ws ) )
         => ( ( P @ nil_char @ nil_char @ nil_char @ nil_char )
           => ( ! [X3: char,Xs2: list_char,Y3: char,Ys3: list_char,Z: char,Zs: list_char,W: char,Ws2: list_char] :
                  ( ( ( size_size_list_char @ Xs2 )
                    = ( size_size_list_char @ Ys3 ) )
                 => ( ( ( size_size_list_char @ Ys3 )
                      = ( size_size_list_char @ Zs ) )
                   => ( ( ( size_size_list_char @ Zs )
                        = ( size_size_list_char @ Ws2 ) )
                     => ( ( P @ Xs2 @ Ys3 @ Zs @ Ws2 )
                       => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) @ ( cons_char @ Z @ Zs ) @ ( cons_char @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_248_list__induct4,axiom,
    ! [Xs: list_char,Ys: list_char,Zs2: list_char,Ws: list_n282880152tr_b_c,P: list_char > list_char > list_char > list_n282880152tr_b_c > $o] :
      ( ( ( size_size_list_char @ Xs )
        = ( size_size_list_char @ Ys ) )
     => ( ( ( size_size_list_char @ Ys )
          = ( size_size_list_char @ Zs2 ) )
       => ( ( ( size_size_list_char @ Zs2 )
            = ( size_s2106487044tr_b_c @ Ws ) )
         => ( ( P @ nil_char @ nil_char @ nil_char @ nil_no279930520tr_b_c )
           => ( ! [X3: char,Xs2: list_char,Y3: char,Ys3: list_char,Z: char,Zs: list_char,W: node_p1234578834tr_b_c,Ws2: list_n282880152tr_b_c] :
                  ( ( ( size_size_list_char @ Xs2 )
                    = ( size_size_list_char @ Ys3 ) )
                 => ( ( ( size_size_list_char @ Ys3 )
                      = ( size_size_list_char @ Zs ) )
                   => ( ( ( size_size_list_char @ Zs )
                        = ( size_s2106487044tr_b_c @ Ws2 ) )
                     => ( ( P @ Xs2 @ Ys3 @ Zs @ Ws2 )
                       => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) @ ( cons_char @ Z @ Zs ) @ ( cons_n413985352tr_b_c @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_249_list__induct4,axiom,
    ! [Xs: list_char,Ys: list_char,Zs2: list_n282880152tr_b_c,Ws: list_char,P: list_char > list_char > list_n282880152tr_b_c > list_char > $o] :
      ( ( ( size_size_list_char @ Xs )
        = ( size_size_list_char @ Ys ) )
     => ( ( ( size_size_list_char @ Ys )
          = ( size_s2106487044tr_b_c @ Zs2 ) )
       => ( ( ( size_s2106487044tr_b_c @ Zs2 )
            = ( size_size_list_char @ Ws ) )
         => ( ( P @ nil_char @ nil_char @ nil_no279930520tr_b_c @ nil_char )
           => ( ! [X3: char,Xs2: list_char,Y3: char,Ys3: list_char,Z: node_p1234578834tr_b_c,Zs: list_n282880152tr_b_c,W: char,Ws2: list_char] :
                  ( ( ( size_size_list_char @ Xs2 )
                    = ( size_size_list_char @ Ys3 ) )
                 => ( ( ( size_size_list_char @ Ys3 )
                      = ( size_s2106487044tr_b_c @ Zs ) )
                   => ( ( ( size_s2106487044tr_b_c @ Zs )
                        = ( size_size_list_char @ Ws2 ) )
                     => ( ( P @ Xs2 @ Ys3 @ Zs @ Ws2 )
                       => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) @ ( cons_n413985352tr_b_c @ Z @ Zs ) @ ( cons_char @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_250_list__induct4,axiom,
    ! [Xs: list_char,Ys: list_n282880152tr_b_c,Zs2: list_char,Ws: list_char,P: list_char > list_n282880152tr_b_c > list_char > list_char > $o] :
      ( ( ( size_size_list_char @ Xs )
        = ( size_s2106487044tr_b_c @ Ys ) )
     => ( ( ( size_s2106487044tr_b_c @ Ys )
          = ( size_size_list_char @ Zs2 ) )
       => ( ( ( size_size_list_char @ Zs2 )
            = ( size_size_list_char @ Ws ) )
         => ( ( P @ nil_char @ nil_no279930520tr_b_c @ nil_char @ nil_char )
           => ( ! [X3: char,Xs2: list_char,Y3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c,Z: char,Zs: list_char,W: char,Ws2: list_char] :
                  ( ( ( size_size_list_char @ Xs2 )
                    = ( size_s2106487044tr_b_c @ Ys3 ) )
                 => ( ( ( size_s2106487044tr_b_c @ Ys3 )
                      = ( size_size_list_char @ Zs ) )
                   => ( ( ( size_size_list_char @ Zs )
                        = ( size_size_list_char @ Ws2 ) )
                     => ( ( P @ Xs2 @ Ys3 @ Zs @ Ws2 )
                       => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) @ ( cons_char @ Z @ Zs ) @ ( cons_char @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_251_list__induct4,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_char,Zs2: list_char,Ws: list_char,P: list_n282880152tr_b_c > list_char > list_char > list_char > $o] :
      ( ( ( size_s2106487044tr_b_c @ Xs )
        = ( size_size_list_char @ Ys ) )
     => ( ( ( size_size_list_char @ Ys )
          = ( size_size_list_char @ Zs2 ) )
       => ( ( ( size_size_list_char @ Zs2 )
            = ( size_size_list_char @ Ws ) )
         => ( ( P @ nil_no279930520tr_b_c @ nil_char @ nil_char @ nil_char )
           => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c,Y3: char,Ys3: list_char,Z: char,Zs: list_char,W: char,Ws2: list_char] :
                  ( ( ( size_s2106487044tr_b_c @ Xs2 )
                    = ( size_size_list_char @ Ys3 ) )
                 => ( ( ( size_size_list_char @ Ys3 )
                      = ( size_size_list_char @ Zs ) )
                   => ( ( ( size_size_list_char @ Zs )
                        = ( size_size_list_char @ Ws2 ) )
                     => ( ( P @ Xs2 @ Ys3 @ Zs @ Ws2 )
                       => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) @ ( cons_char @ Z @ Zs ) @ ( cons_char @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_252_list__induct4,axiom,
    ! [Xs: list_char,Ys: list_char,Zs2: list_n282880152tr_b_c,Ws: list_n282880152tr_b_c,P: list_char > list_char > list_n282880152tr_b_c > list_n282880152tr_b_c > $o] :
      ( ( ( size_size_list_char @ Xs )
        = ( size_size_list_char @ Ys ) )
     => ( ( ( size_size_list_char @ Ys )
          = ( size_s2106487044tr_b_c @ Zs2 ) )
       => ( ( ( size_s2106487044tr_b_c @ Zs2 )
            = ( size_s2106487044tr_b_c @ Ws ) )
         => ( ( P @ nil_char @ nil_char @ nil_no279930520tr_b_c @ nil_no279930520tr_b_c )
           => ( ! [X3: char,Xs2: list_char,Y3: char,Ys3: list_char,Z: node_p1234578834tr_b_c,Zs: list_n282880152tr_b_c,W: node_p1234578834tr_b_c,Ws2: list_n282880152tr_b_c] :
                  ( ( ( size_size_list_char @ Xs2 )
                    = ( size_size_list_char @ Ys3 ) )
                 => ( ( ( size_size_list_char @ Ys3 )
                      = ( size_s2106487044tr_b_c @ Zs ) )
                   => ( ( ( size_s2106487044tr_b_c @ Zs )
                        = ( size_s2106487044tr_b_c @ Ws2 ) )
                     => ( ( P @ Xs2 @ Ys3 @ Zs @ Ws2 )
                       => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) @ ( cons_n413985352tr_b_c @ Z @ Zs ) @ ( cons_n413985352tr_b_c @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_253_list__induct4,axiom,
    ! [Xs: list_char,Ys: list_n282880152tr_b_c,Zs2: list_char,Ws: list_n282880152tr_b_c,P: list_char > list_n282880152tr_b_c > list_char > list_n282880152tr_b_c > $o] :
      ( ( ( size_size_list_char @ Xs )
        = ( size_s2106487044tr_b_c @ Ys ) )
     => ( ( ( size_s2106487044tr_b_c @ Ys )
          = ( size_size_list_char @ Zs2 ) )
       => ( ( ( size_size_list_char @ Zs2 )
            = ( size_s2106487044tr_b_c @ Ws ) )
         => ( ( P @ nil_char @ nil_no279930520tr_b_c @ nil_char @ nil_no279930520tr_b_c )
           => ( ! [X3: char,Xs2: list_char,Y3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c,Z: char,Zs: list_char,W: node_p1234578834tr_b_c,Ws2: list_n282880152tr_b_c] :
                  ( ( ( size_size_list_char @ Xs2 )
                    = ( size_s2106487044tr_b_c @ Ys3 ) )
                 => ( ( ( size_s2106487044tr_b_c @ Ys3 )
                      = ( size_size_list_char @ Zs ) )
                   => ( ( ( size_size_list_char @ Zs )
                        = ( size_s2106487044tr_b_c @ Ws2 ) )
                     => ( ( P @ Xs2 @ Ys3 @ Zs @ Ws2 )
                       => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) @ ( cons_char @ Z @ Zs ) @ ( cons_n413985352tr_b_c @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_254_list__induct4,axiom,
    ! [Xs: list_char,Ys: list_n282880152tr_b_c,Zs2: list_n282880152tr_b_c,Ws: list_char,P: list_char > list_n282880152tr_b_c > list_n282880152tr_b_c > list_char > $o] :
      ( ( ( size_size_list_char @ Xs )
        = ( size_s2106487044tr_b_c @ Ys ) )
     => ( ( ( size_s2106487044tr_b_c @ Ys )
          = ( size_s2106487044tr_b_c @ Zs2 ) )
       => ( ( ( size_s2106487044tr_b_c @ Zs2 )
            = ( size_size_list_char @ Ws ) )
         => ( ( P @ nil_char @ nil_no279930520tr_b_c @ nil_no279930520tr_b_c @ nil_char )
           => ( ! [X3: char,Xs2: list_char,Y3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c,Z: node_p1234578834tr_b_c,Zs: list_n282880152tr_b_c,W: char,Ws2: list_char] :
                  ( ( ( size_size_list_char @ Xs2 )
                    = ( size_s2106487044tr_b_c @ Ys3 ) )
                 => ( ( ( size_s2106487044tr_b_c @ Ys3 )
                      = ( size_s2106487044tr_b_c @ Zs ) )
                   => ( ( ( size_s2106487044tr_b_c @ Zs )
                        = ( size_size_list_char @ Ws2 ) )
                     => ( ( P @ Xs2 @ Ys3 @ Zs @ Ws2 )
                       => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) @ ( cons_n413985352tr_b_c @ Z @ Zs ) @ ( cons_char @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_255_list__induct4,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_char,Zs2: list_char,Ws: list_n282880152tr_b_c,P: list_n282880152tr_b_c > list_char > list_char > list_n282880152tr_b_c > $o] :
      ( ( ( size_s2106487044tr_b_c @ Xs )
        = ( size_size_list_char @ Ys ) )
     => ( ( ( size_size_list_char @ Ys )
          = ( size_size_list_char @ Zs2 ) )
       => ( ( ( size_size_list_char @ Zs2 )
            = ( size_s2106487044tr_b_c @ Ws ) )
         => ( ( P @ nil_no279930520tr_b_c @ nil_char @ nil_char @ nil_no279930520tr_b_c )
           => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c,Y3: char,Ys3: list_char,Z: char,Zs: list_char,W: node_p1234578834tr_b_c,Ws2: list_n282880152tr_b_c] :
                  ( ( ( size_s2106487044tr_b_c @ Xs2 )
                    = ( size_size_list_char @ Ys3 ) )
                 => ( ( ( size_size_list_char @ Ys3 )
                      = ( size_size_list_char @ Zs ) )
                   => ( ( ( size_size_list_char @ Zs )
                        = ( size_s2106487044tr_b_c @ Ws2 ) )
                     => ( ( P @ Xs2 @ Ys3 @ Zs @ Ws2 )
                       => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) @ ( cons_char @ Z @ Zs ) @ ( cons_n413985352tr_b_c @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_256_list__induct4,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_char,Zs2: list_n282880152tr_b_c,Ws: list_char,P: list_n282880152tr_b_c > list_char > list_n282880152tr_b_c > list_char > $o] :
      ( ( ( size_s2106487044tr_b_c @ Xs )
        = ( size_size_list_char @ Ys ) )
     => ( ( ( size_size_list_char @ Ys )
          = ( size_s2106487044tr_b_c @ Zs2 ) )
       => ( ( ( size_s2106487044tr_b_c @ Zs2 )
            = ( size_size_list_char @ Ws ) )
         => ( ( P @ nil_no279930520tr_b_c @ nil_char @ nil_no279930520tr_b_c @ nil_char )
           => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c,Y3: char,Ys3: list_char,Z: node_p1234578834tr_b_c,Zs: list_n282880152tr_b_c,W: char,Ws2: list_char] :
                  ( ( ( size_s2106487044tr_b_c @ Xs2 )
                    = ( size_size_list_char @ Ys3 ) )
                 => ( ( ( size_size_list_char @ Ys3 )
                      = ( size_s2106487044tr_b_c @ Zs ) )
                   => ( ( ( size_s2106487044tr_b_c @ Zs )
                        = ( size_size_list_char @ Ws2 ) )
                     => ( ( P @ Xs2 @ Ys3 @ Zs @ Ws2 )
                       => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) @ ( cons_n413985352tr_b_c @ Z @ Zs ) @ ( cons_char @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys @ Zs2 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_257_list__induct3,axiom,
    ! [Xs: list_char,Ys: list_char,Zs2: list_char,P: list_char > list_char > list_char > $o] :
      ( ( ( size_size_list_char @ Xs )
        = ( size_size_list_char @ Ys ) )
     => ( ( ( size_size_list_char @ Ys )
          = ( size_size_list_char @ Zs2 ) )
       => ( ( P @ nil_char @ nil_char @ nil_char )
         => ( ! [X3: char,Xs2: list_char,Y3: char,Ys3: list_char,Z: char,Zs: list_char] :
                ( ( ( size_size_list_char @ Xs2 )
                  = ( size_size_list_char @ Ys3 ) )
               => ( ( ( size_size_list_char @ Ys3 )
                    = ( size_size_list_char @ Zs ) )
                 => ( ( P @ Xs2 @ Ys3 @ Zs )
                   => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) @ ( cons_char @ Z @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_258_list__induct3,axiom,
    ! [Xs: list_char,Ys: list_char,Zs2: list_n282880152tr_b_c,P: list_char > list_char > list_n282880152tr_b_c > $o] :
      ( ( ( size_size_list_char @ Xs )
        = ( size_size_list_char @ Ys ) )
     => ( ( ( size_size_list_char @ Ys )
          = ( size_s2106487044tr_b_c @ Zs2 ) )
       => ( ( P @ nil_char @ nil_char @ nil_no279930520tr_b_c )
         => ( ! [X3: char,Xs2: list_char,Y3: char,Ys3: list_char,Z: node_p1234578834tr_b_c,Zs: list_n282880152tr_b_c] :
                ( ( ( size_size_list_char @ Xs2 )
                  = ( size_size_list_char @ Ys3 ) )
               => ( ( ( size_size_list_char @ Ys3 )
                    = ( size_s2106487044tr_b_c @ Zs ) )
                 => ( ( P @ Xs2 @ Ys3 @ Zs )
                   => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) @ ( cons_n413985352tr_b_c @ Z @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_259_list__induct3,axiom,
    ! [Xs: list_char,Ys: list_n282880152tr_b_c,Zs2: list_char,P: list_char > list_n282880152tr_b_c > list_char > $o] :
      ( ( ( size_size_list_char @ Xs )
        = ( size_s2106487044tr_b_c @ Ys ) )
     => ( ( ( size_s2106487044tr_b_c @ Ys )
          = ( size_size_list_char @ Zs2 ) )
       => ( ( P @ nil_char @ nil_no279930520tr_b_c @ nil_char )
         => ( ! [X3: char,Xs2: list_char,Y3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c,Z: char,Zs: list_char] :
                ( ( ( size_size_list_char @ Xs2 )
                  = ( size_s2106487044tr_b_c @ Ys3 ) )
               => ( ( ( size_s2106487044tr_b_c @ Ys3 )
                    = ( size_size_list_char @ Zs ) )
                 => ( ( P @ Xs2 @ Ys3 @ Zs )
                   => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) @ ( cons_char @ Z @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_260_list__induct3,axiom,
    ! [Xs: list_char,Ys: list_n282880152tr_b_c,Zs2: list_n282880152tr_b_c,P: list_char > list_n282880152tr_b_c > list_n282880152tr_b_c > $o] :
      ( ( ( size_size_list_char @ Xs )
        = ( size_s2106487044tr_b_c @ Ys ) )
     => ( ( ( size_s2106487044tr_b_c @ Ys )
          = ( size_s2106487044tr_b_c @ Zs2 ) )
       => ( ( P @ nil_char @ nil_no279930520tr_b_c @ nil_no279930520tr_b_c )
         => ( ! [X3: char,Xs2: list_char,Y3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c,Z: node_p1234578834tr_b_c,Zs: list_n282880152tr_b_c] :
                ( ( ( size_size_list_char @ Xs2 )
                  = ( size_s2106487044tr_b_c @ Ys3 ) )
               => ( ( ( size_s2106487044tr_b_c @ Ys3 )
                    = ( size_s2106487044tr_b_c @ Zs ) )
                 => ( ( P @ Xs2 @ Ys3 @ Zs )
                   => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) @ ( cons_n413985352tr_b_c @ Z @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_261_list__induct3,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_char,Zs2: list_char,P: list_n282880152tr_b_c > list_char > list_char > $o] :
      ( ( ( size_s2106487044tr_b_c @ Xs )
        = ( size_size_list_char @ Ys ) )
     => ( ( ( size_size_list_char @ Ys )
          = ( size_size_list_char @ Zs2 ) )
       => ( ( P @ nil_no279930520tr_b_c @ nil_char @ nil_char )
         => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c,Y3: char,Ys3: list_char,Z: char,Zs: list_char] :
                ( ( ( size_s2106487044tr_b_c @ Xs2 )
                  = ( size_size_list_char @ Ys3 ) )
               => ( ( ( size_size_list_char @ Ys3 )
                    = ( size_size_list_char @ Zs ) )
                 => ( ( P @ Xs2 @ Ys3 @ Zs )
                   => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) @ ( cons_char @ Z @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_262_list__induct3,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_char,Zs2: list_n282880152tr_b_c,P: list_n282880152tr_b_c > list_char > list_n282880152tr_b_c > $o] :
      ( ( ( size_s2106487044tr_b_c @ Xs )
        = ( size_size_list_char @ Ys ) )
     => ( ( ( size_size_list_char @ Ys )
          = ( size_s2106487044tr_b_c @ Zs2 ) )
       => ( ( P @ nil_no279930520tr_b_c @ nil_char @ nil_no279930520tr_b_c )
         => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c,Y3: char,Ys3: list_char,Z: node_p1234578834tr_b_c,Zs: list_n282880152tr_b_c] :
                ( ( ( size_s2106487044tr_b_c @ Xs2 )
                  = ( size_size_list_char @ Ys3 ) )
               => ( ( ( size_size_list_char @ Ys3 )
                    = ( size_s2106487044tr_b_c @ Zs ) )
                 => ( ( P @ Xs2 @ Ys3 @ Zs )
                   => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) @ ( cons_n413985352tr_b_c @ Z @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_263_list__induct3,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_n282880152tr_b_c,Zs2: list_char,P: list_n282880152tr_b_c > list_n282880152tr_b_c > list_char > $o] :
      ( ( ( size_s2106487044tr_b_c @ Xs )
        = ( size_s2106487044tr_b_c @ Ys ) )
     => ( ( ( size_s2106487044tr_b_c @ Ys )
          = ( size_size_list_char @ Zs2 ) )
       => ( ( P @ nil_no279930520tr_b_c @ nil_no279930520tr_b_c @ nil_char )
         => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c,Y3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c,Z: char,Zs: list_char] :
                ( ( ( size_s2106487044tr_b_c @ Xs2 )
                  = ( size_s2106487044tr_b_c @ Ys3 ) )
               => ( ( ( size_s2106487044tr_b_c @ Ys3 )
                    = ( size_size_list_char @ Zs ) )
                 => ( ( P @ Xs2 @ Ys3 @ Zs )
                   => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) @ ( cons_char @ Z @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_264_list__induct3,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_n282880152tr_b_c,Zs2: list_n282880152tr_b_c,P: list_n282880152tr_b_c > list_n282880152tr_b_c > list_n282880152tr_b_c > $o] :
      ( ( ( size_s2106487044tr_b_c @ Xs )
        = ( size_s2106487044tr_b_c @ Ys ) )
     => ( ( ( size_s2106487044tr_b_c @ Ys )
          = ( size_s2106487044tr_b_c @ Zs2 ) )
       => ( ( P @ nil_no279930520tr_b_c @ nil_no279930520tr_b_c @ nil_no279930520tr_b_c )
         => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c,Y3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c,Z: node_p1234578834tr_b_c,Zs: list_n282880152tr_b_c] :
                ( ( ( size_s2106487044tr_b_c @ Xs2 )
                  = ( size_s2106487044tr_b_c @ Ys3 ) )
               => ( ( ( size_s2106487044tr_b_c @ Ys3 )
                    = ( size_s2106487044tr_b_c @ Zs ) )
                 => ( ( P @ Xs2 @ Ys3 @ Zs )
                   => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) @ ( cons_n413985352tr_b_c @ Z @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs2 ) ) ) ) ) ).

% list_induct3
thf(fact_265_list__induct2,axiom,
    ! [Xs: list_char,Ys: list_char,P: list_char > list_char > $o] :
      ( ( ( size_size_list_char @ Xs )
        = ( size_size_list_char @ Ys ) )
     => ( ( P @ nil_char @ nil_char )
       => ( ! [X3: char,Xs2: list_char,Y3: char,Ys3: list_char] :
              ( ( ( size_size_list_char @ Xs2 )
                = ( size_size_list_char @ Ys3 ) )
             => ( ( P @ Xs2 @ Ys3 )
               => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) ) ) )
         => ( P @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_266_list__induct2,axiom,
    ! [Xs: list_char,Ys: list_n282880152tr_b_c,P: list_char > list_n282880152tr_b_c > $o] :
      ( ( ( size_size_list_char @ Xs )
        = ( size_s2106487044tr_b_c @ Ys ) )
     => ( ( P @ nil_char @ nil_no279930520tr_b_c )
       => ( ! [X3: char,Xs2: list_char,Y3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c] :
              ( ( ( size_size_list_char @ Xs2 )
                = ( size_s2106487044tr_b_c @ Ys3 ) )
             => ( ( P @ Xs2 @ Ys3 )
               => ( P @ ( cons_char @ X3 @ Xs2 ) @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) ) ) )
         => ( P @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_267_list__induct2,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_char,P: list_n282880152tr_b_c > list_char > $o] :
      ( ( ( size_s2106487044tr_b_c @ Xs )
        = ( size_size_list_char @ Ys ) )
     => ( ( P @ nil_no279930520tr_b_c @ nil_char )
       => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c,Y3: char,Ys3: list_char] :
              ( ( ( size_s2106487044tr_b_c @ Xs2 )
                = ( size_size_list_char @ Ys3 ) )
             => ( ( P @ Xs2 @ Ys3 )
               => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ ( cons_char @ Y3 @ Ys3 ) ) ) )
         => ( P @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_268_list__induct2,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_n282880152tr_b_c,P: list_n282880152tr_b_c > list_n282880152tr_b_c > $o] :
      ( ( ( size_s2106487044tr_b_c @ Xs )
        = ( size_s2106487044tr_b_c @ Ys ) )
     => ( ( P @ nil_no279930520tr_b_c @ nil_no279930520tr_b_c )
       => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c,Y3: node_p1234578834tr_b_c,Ys3: list_n282880152tr_b_c] :
              ( ( ( size_s2106487044tr_b_c @ Xs2 )
                = ( size_s2106487044tr_b_c @ Ys3 ) )
             => ( ( P @ Xs2 @ Ys3 )
               => ( P @ ( cons_n413985352tr_b_c @ X3 @ Xs2 ) @ ( cons_n413985352tr_b_c @ Y3 @ Ys3 ) ) ) )
         => ( P @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_269_splice_Oelims,axiom,
    ! [X: list_char,Xa: list_char,Y: list_char] :
      ( ( ( splice_char @ X @ Xa )
        = Y )
     => ( ( ( X = nil_char )
         => ( Y != Xa ) )
       => ~ ! [X3: char,Xs2: list_char] :
              ( ( X
                = ( cons_char @ X3 @ Xs2 ) )
             => ( Y
               != ( cons_char @ X3 @ ( splice_char @ Xa @ Xs2 ) ) ) ) ) ) ).

% splice.elims
thf(fact_270_splice_Oelims,axiom,
    ! [X: list_n282880152tr_b_c,Xa: list_n282880152tr_b_c,Y: list_n282880152tr_b_c] :
      ( ( ( splice1294941035tr_b_c @ X @ Xa )
        = Y )
     => ( ( ( X = nil_no279930520tr_b_c )
         => ( Y != Xa ) )
       => ~ ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c] :
              ( ( X
                = ( cons_n413985352tr_b_c @ X3 @ Xs2 ) )
             => ( Y
               != ( cons_n413985352tr_b_c @ X3 @ ( splice1294941035tr_b_c @ Xa @ Xs2 ) ) ) ) ) ) ).

% splice.elims
thf(fact_271_get__object__ptr__simp,axiom,
    ! [Ptr2: object945351580_d_e_f,Object_ptr: object945351580_d_e_f,Obj: rObjec1413572695_j_k_l,H: heap_S1465075775_j_k_l] :
      ( ( ( Ptr2 = Object_ptr )
       => ( ( get_O_623850005_j_k_l @ Object_ptr @ ( put_O_834343516_j_k_l @ Ptr2 @ Obj @ H ) )
          = ( some_R1598191922_j_k_l @ Obj ) ) )
      & ( ( Ptr2 != Object_ptr )
       => ( ( get_O_623850005_j_k_l @ Object_ptr @ ( put_O_834343516_j_k_l @ Ptr2 @ Obj @ H ) )
          = ( get_O_623850005_j_k_l @ Object_ptr @ H ) ) ) ) ).

% get_object_ptr_simp
thf(fact_272_n__lists__Nil,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( n_lists_char @ N @ nil_char )
          = ( cons_list_char @ nil_char @ nil_list_char ) ) )
      & ( ( N != zero_zero_nat )
       => ( ( n_lists_char @ N @ nil_char )
          = nil_list_char ) ) ) ).

% n_lists_Nil
thf(fact_273_n__lists__Nil,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( n_list1807568544tr_b_c @ N @ nil_no279930520tr_b_c )
          = ( cons_l1809994318tr_b_c @ nil_no279930520tr_b_c @ nil_li198338206tr_b_c ) ) )
      & ( ( N != zero_zero_nat )
       => ( ( n_list1807568544tr_b_c @ N @ nil_no279930520tr_b_c )
          = nil_li198338206tr_b_c ) ) ) ).

% n_lists_Nil
thf(fact_274_n__lists_Osimps_I1_J,axiom,
    ! [Xs: list_char] :
      ( ( n_lists_char @ zero_zero_nat @ Xs )
      = ( cons_list_char @ nil_char @ nil_list_char ) ) ).

% n_lists.simps(1)
thf(fact_275_n__lists_Osimps_I1_J,axiom,
    ! [Xs: list_n282880152tr_b_c] :
      ( ( n_list1807568544tr_b_c @ zero_zero_nat @ Xs )
      = ( cons_l1809994318tr_b_c @ nil_no279930520tr_b_c @ nil_li198338206tr_b_c ) ) ).

% n_lists.simps(1)
thf(fact_276_product__lists_Osimps_I1_J,axiom,
    ( ( product_lists_char @ nil_list_char )
    = ( cons_list_char @ nil_char @ nil_list_char ) ) ).

% product_lists.simps(1)
thf(fact_277_product__lists_Osimps_I1_J,axiom,
    ( ( produc1509350401tr_b_c @ nil_li198338206tr_b_c )
    = ( cons_l1809994318tr_b_c @ nil_no279930520tr_b_c @ nil_li198338206tr_b_c ) ) ).

% product_lists.simps(1)
thf(fact_278_subseqs_Osimps_I1_J,axiom,
    ( ( subseqs_char @ nil_char )
    = ( cons_list_char @ nil_char @ nil_list_char ) ) ).

% subseqs.simps(1)
thf(fact_279_subseqs_Osimps_I1_J,axiom,
    ( ( subseq1828679783tr_b_c @ nil_no279930520tr_b_c )
    = ( cons_l1809994318tr_b_c @ nil_no279930520tr_b_c @ nil_li198338206tr_b_c ) ) ).

% subseqs.simps(1)
thf(fact_280_insert__Nil,axiom,
    ! [X: char] :
      ( ( insert_char @ X @ nil_char )
      = ( cons_char @ X @ nil_char ) ) ).

% insert_Nil
thf(fact_281_insert__Nil,axiom,
    ! [X: node_p1234578834tr_b_c] :
      ( ( insert678865070tr_b_c @ X @ nil_no279930520tr_b_c )
      = ( cons_n413985352tr_b_c @ X @ nil_no279930520tr_b_c ) ) ).

% insert_Nil
thf(fact_282_nths__singleton,axiom,
    ! [A2: set_nat,X: char] :
      ( ( ( member_nat @ zero_zero_nat @ A2 )
       => ( ( nths_char @ ( cons_char @ X @ nil_char ) @ A2 )
          = ( cons_char @ X @ nil_char ) ) )
      & ( ~ ( member_nat @ zero_zero_nat @ A2 )
       => ( ( nths_char @ ( cons_char @ X @ nil_char ) @ A2 )
          = nil_char ) ) ) ).

% nths_singleton
thf(fact_283_nths__singleton,axiom,
    ! [A2: set_nat,X: node_p1234578834tr_b_c] :
      ( ( ( member_nat @ zero_zero_nat @ A2 )
       => ( ( nths_n1256675478tr_b_c @ ( cons_n413985352tr_b_c @ X @ nil_no279930520tr_b_c ) @ A2 )
          = ( cons_n413985352tr_b_c @ X @ nil_no279930520tr_b_c ) ) )
      & ( ~ ( member_nat @ zero_zero_nat @ A2 )
       => ( ( nths_n1256675478tr_b_c @ ( cons_n413985352tr_b_c @ X @ nil_no279930520tr_b_c ) @ A2 )
          = nil_no279930520tr_b_c ) ) ) ).

% nths_singleton
thf(fact_284_nths__nil,axiom,
    ! [A2: set_nat] :
      ( ( nths_char @ nil_char @ A2 )
      = nil_char ) ).

% nths_nil
thf(fact_285_nths__nil,axiom,
    ! [A2: set_nat] :
      ( ( nths_n1256675478tr_b_c @ nil_no279930520tr_b_c @ A2 )
      = nil_no279930520tr_b_c ) ).

% nths_nil
thf(fact_286_nths__empty,axiom,
    ! [Xs: list_char] :
      ( ( nths_char @ Xs @ bot_bot_set_nat )
      = nil_char ) ).

% nths_empty
thf(fact_287_nths__empty,axiom,
    ! [Xs: list_n282880152tr_b_c] :
      ( ( nths_n1256675478tr_b_c @ Xs @ bot_bot_set_nat )
      = nil_no279930520tr_b_c ) ).

% nths_empty
thf(fact_288_bind__split__asm,axiom,
    ! [P: option_element_ptr_a > $o,M2: option_element_ptr_a,F: element_ptr_a > option_element_ptr_a] :
      ( ( P @ ( bind_e22036734_ptr_a @ M2 @ F ) )
      = ( ~ ( ( ( M2 = none_element_ptr_a )
              & ~ ( P @ none_element_ptr_a ) )
            | ? [X4: element_ptr_a] :
                ( ( M2
                  = ( some_element_ptr_a @ X4 ) )
                & ~ ( P @ ( F @ X4 ) ) ) ) ) ) ).

% bind_split_asm
thf(fact_289_bind__split__asm,axiom,
    ! [P: option2026120038on_j_k > $o,M2: option_element_ptr_a,F: element_ptr_a > option2026120038on_j_k] :
      ( ( P @ ( bind_e1012152651on_j_k @ M2 @ F ) )
      = ( ~ ( ( ( M2 = none_element_ptr_a )
              & ~ ( P @ none_S1393028981on_j_k ) )
            | ? [X4: element_ptr_a] :
                ( ( M2
                  = ( some_element_ptr_a @ X4 ) )
                & ~ ( P @ ( F @ X4 ) ) ) ) ) ) ).

% bind_split_asm
thf(fact_290_bind__split__asm,axiom,
    ! [P: option_element_ptr_a > $o,M2: option2026120038on_j_k,F: sum_su1221287958on_j_k > option_element_ptr_a] :
      ( ( P @ ( bind_S287509021_ptr_a @ M2 @ F ) )
      = ( ~ ( ( ( M2 = none_S1393028981on_j_k )
              & ~ ( P @ none_element_ptr_a ) )
            | ? [X4: sum_su1221287958on_j_k] :
                ( ( M2
                  = ( some_S1960742641on_j_k @ X4 ) )
                & ~ ( P @ ( F @ X4 ) ) ) ) ) ) ).

% bind_split_asm
thf(fact_291_bind__split__asm,axiom,
    ! [P: option2026120038on_j_k > $o,M2: option2026120038on_j_k,F: sum_su1221287958on_j_k > option2026120038on_j_k] :
      ( ( P @ ( bind_S607117548on_j_k @ M2 @ F ) )
      = ( ~ ( ( ( M2 = none_S1393028981on_j_k )
              & ~ ( P @ none_S1393028981on_j_k ) )
            | ? [X4: sum_su1221287958on_j_k] :
                ( ( M2
                  = ( some_S1960742641on_j_k @ X4 ) )
                & ~ ( P @ ( F @ X4 ) ) ) ) ) ) ).

% bind_split_asm
thf(fact_292_bind__split,axiom,
    ! [P: option_element_ptr_a > $o,M2: option_element_ptr_a,F: element_ptr_a > option_element_ptr_a] :
      ( ( P @ ( bind_e22036734_ptr_a @ M2 @ F ) )
      = ( ( ( M2 = none_element_ptr_a )
         => ( P @ none_element_ptr_a ) )
        & ! [V3: element_ptr_a] :
            ( ( M2
              = ( some_element_ptr_a @ V3 ) )
           => ( P @ ( F @ V3 ) ) ) ) ) ).

% bind_split
thf(fact_293_bind__split,axiom,
    ! [P: option2026120038on_j_k > $o,M2: option_element_ptr_a,F: element_ptr_a > option2026120038on_j_k] :
      ( ( P @ ( bind_e1012152651on_j_k @ M2 @ F ) )
      = ( ( ( M2 = none_element_ptr_a )
         => ( P @ none_S1393028981on_j_k ) )
        & ! [V3: element_ptr_a] :
            ( ( M2
              = ( some_element_ptr_a @ V3 ) )
           => ( P @ ( F @ V3 ) ) ) ) ) ).

% bind_split
thf(fact_294_bind__split,axiom,
    ! [P: option_element_ptr_a > $o,M2: option2026120038on_j_k,F: sum_su1221287958on_j_k > option_element_ptr_a] :
      ( ( P @ ( bind_S287509021_ptr_a @ M2 @ F ) )
      = ( ( ( M2 = none_S1393028981on_j_k )
         => ( P @ none_element_ptr_a ) )
        & ! [V3: sum_su1221287958on_j_k] :
            ( ( M2
              = ( some_S1960742641on_j_k @ V3 ) )
           => ( P @ ( F @ V3 ) ) ) ) ) ).

% bind_split
thf(fact_295_bind__split,axiom,
    ! [P: option2026120038on_j_k > $o,M2: option2026120038on_j_k,F: sum_su1221287958on_j_k > option2026120038on_j_k] :
      ( ( P @ ( bind_S607117548on_j_k @ M2 @ F ) )
      = ( ( ( M2 = none_S1393028981on_j_k )
         => ( P @ none_S1393028981on_j_k ) )
        & ! [V3: sum_su1221287958on_j_k] :
            ( ( M2
              = ( some_S1960742641on_j_k @ V3 ) )
           => ( P @ ( F @ V3 ) ) ) ) ) ).

% bind_split
thf(fact_296_bind_Obind__lzero,axiom,
    ! [F: element_ptr_a > option_element_ptr_a] :
      ( ( bind_e22036734_ptr_a @ none_element_ptr_a @ F )
      = none_element_ptr_a ) ).

% bind.bind_lzero
thf(fact_297_bind_Obind__lzero,axiom,
    ! [F: element_ptr_a > option2026120038on_j_k] :
      ( ( bind_e1012152651on_j_k @ none_element_ptr_a @ F )
      = none_S1393028981on_j_k ) ).

% bind.bind_lzero
thf(fact_298_bind_Obind__lzero,axiom,
    ! [F: sum_su1221287958on_j_k > option_element_ptr_a] :
      ( ( bind_S287509021_ptr_a @ none_S1393028981on_j_k @ F )
      = none_element_ptr_a ) ).

% bind.bind_lzero
thf(fact_299_bind_Obind__lzero,axiom,
    ! [F: sum_su1221287958on_j_k > option2026120038on_j_k] :
      ( ( bind_S607117548on_j_k @ none_S1393028981on_j_k @ F )
      = none_S1393028981on_j_k ) ).

% bind.bind_lzero
thf(fact_300_set__encode__empty,axiom,
    ( ( nat_set_encode @ bot_bot_set_nat )
    = zero_zero_nat ) ).

% set_encode_empty
thf(fact_301_set__decode__zero,axiom,
    ( ( nat_set_decode @ zero_zero_nat )
    = bot_bot_set_nat ) ).

% set_decode_zero
thf(fact_302_length__append__singleton,axiom,
    ! [Xs: list_char,X: char] :
      ( ( size_size_list_char @ ( append_char @ Xs @ ( cons_char @ X @ nil_char ) ) )
      = ( suc @ ( size_size_list_char @ Xs ) ) ) ).

% length_append_singleton
thf(fact_303_length__append__singleton,axiom,
    ! [Xs: list_n282880152tr_b_c,X: node_p1234578834tr_b_c] :
      ( ( size_s2106487044tr_b_c @ ( append846395565tr_b_c @ Xs @ ( cons_n413985352tr_b_c @ X @ nil_no279930520tr_b_c ) ) )
      = ( suc @ ( size_s2106487044tr_b_c @ Xs ) ) ) ).

% length_append_singleton
thf(fact_304_append__Nil2,axiom,
    ! [Xs: list_char] :
      ( ( append_char @ Xs @ nil_char )
      = Xs ) ).

% append_Nil2
thf(fact_305_append__Nil2,axiom,
    ! [Xs: list_n282880152tr_b_c] :
      ( ( append846395565tr_b_c @ Xs @ nil_no279930520tr_b_c )
      = Xs ) ).

% append_Nil2
thf(fact_306_append__self__conv,axiom,
    ! [Xs: list_char,Ys: list_char] :
      ( ( ( append_char @ Xs @ Ys )
        = Xs )
      = ( Ys = nil_char ) ) ).

% append_self_conv
thf(fact_307_append__self__conv,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_n282880152tr_b_c] :
      ( ( ( append846395565tr_b_c @ Xs @ Ys )
        = Xs )
      = ( Ys = nil_no279930520tr_b_c ) ) ).

% append_self_conv
thf(fact_308_self__append__conv,axiom,
    ! [Xs: list_char,Ys: list_char] :
      ( ( Xs
        = ( append_char @ Xs @ Ys ) )
      = ( Ys = nil_char ) ) ).

% self_append_conv
thf(fact_309_self__append__conv,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_n282880152tr_b_c] :
      ( ( Xs
        = ( append846395565tr_b_c @ Xs @ Ys ) )
      = ( Ys = nil_no279930520tr_b_c ) ) ).

% self_append_conv
thf(fact_310_append__self__conv2,axiom,
    ! [Xs: list_char,Ys: list_char] :
      ( ( ( append_char @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_char ) ) ).

% append_self_conv2
thf(fact_311_append__self__conv2,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_n282880152tr_b_c] :
      ( ( ( append846395565tr_b_c @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_no279930520tr_b_c ) ) ).

% append_self_conv2
thf(fact_312_self__append__conv2,axiom,
    ! [Ys: list_char,Xs: list_char] :
      ( ( Ys
        = ( append_char @ Xs @ Ys ) )
      = ( Xs = nil_char ) ) ).

% self_append_conv2
thf(fact_313_self__append__conv2,axiom,
    ! [Ys: list_n282880152tr_b_c,Xs: list_n282880152tr_b_c] :
      ( ( Ys
        = ( append846395565tr_b_c @ Xs @ Ys ) )
      = ( Xs = nil_no279930520tr_b_c ) ) ).

% self_append_conv2
thf(fact_314_Nil__is__append__conv,axiom,
    ! [Xs: list_char,Ys: list_char] :
      ( ( nil_char
        = ( append_char @ Xs @ Ys ) )
      = ( ( Xs = nil_char )
        & ( Ys = nil_char ) ) ) ).

% Nil_is_append_conv
thf(fact_315_Nil__is__append__conv,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_n282880152tr_b_c] :
      ( ( nil_no279930520tr_b_c
        = ( append846395565tr_b_c @ Xs @ Ys ) )
      = ( ( Xs = nil_no279930520tr_b_c )
        & ( Ys = nil_no279930520tr_b_c ) ) ) ).

% Nil_is_append_conv
thf(fact_316_append__is__Nil__conv,axiom,
    ! [Xs: list_char,Ys: list_char] :
      ( ( ( append_char @ Xs @ Ys )
        = nil_char )
      = ( ( Xs = nil_char )
        & ( Ys = nil_char ) ) ) ).

% append_is_Nil_conv
thf(fact_317_append__is__Nil__conv,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_n282880152tr_b_c] :
      ( ( ( append846395565tr_b_c @ Xs @ Ys )
        = nil_no279930520tr_b_c )
      = ( ( Xs = nil_no279930520tr_b_c )
        & ( Ys = nil_no279930520tr_b_c ) ) ) ).

% append_is_Nil_conv
thf(fact_318_append_Oright__neutral,axiom,
    ! [A: list_char] :
      ( ( append_char @ A @ nil_char )
      = A ) ).

% append.right_neutral
thf(fact_319_append_Oright__neutral,axiom,
    ! [A: list_n282880152tr_b_c] :
      ( ( append846395565tr_b_c @ A @ nil_no279930520tr_b_c )
      = A ) ).

% append.right_neutral
thf(fact_320_set__decode__inverse,axiom,
    ! [N: nat] :
      ( ( nat_set_encode @ ( nat_set_decode @ N ) )
      = N ) ).

% set_decode_inverse
thf(fact_321_append1__eq__conv,axiom,
    ! [Xs: list_char,X: char,Ys: list_char,Y: char] :
      ( ( ( append_char @ Xs @ ( cons_char @ X @ nil_char ) )
        = ( append_char @ Ys @ ( cons_char @ Y @ nil_char ) ) )
      = ( ( Xs = Ys )
        & ( X = Y ) ) ) ).

% append1_eq_conv
thf(fact_322_append1__eq__conv,axiom,
    ! [Xs: list_n282880152tr_b_c,X: node_p1234578834tr_b_c,Ys: list_n282880152tr_b_c,Y: node_p1234578834tr_b_c] :
      ( ( ( append846395565tr_b_c @ Xs @ ( cons_n413985352tr_b_c @ X @ nil_no279930520tr_b_c ) )
        = ( append846395565tr_b_c @ Ys @ ( cons_n413985352tr_b_c @ Y @ nil_no279930520tr_b_c ) ) )
      = ( ( Xs = Ys )
        & ( X = Y ) ) ) ).

% append1_eq_conv
thf(fact_323_rev__induct,axiom,
    ! [P: list_char > $o,Xs: list_char] :
      ( ( P @ nil_char )
     => ( ! [X3: char,Xs2: list_char] :
            ( ( P @ Xs2 )
           => ( P @ ( append_char @ Xs2 @ ( cons_char @ X3 @ nil_char ) ) ) )
       => ( P @ Xs ) ) ) ).

% rev_induct
thf(fact_324_rev__induct,axiom,
    ! [P: list_n282880152tr_b_c > $o,Xs: list_n282880152tr_b_c] :
      ( ( P @ nil_no279930520tr_b_c )
     => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c] :
            ( ( P @ Xs2 )
           => ( P @ ( append846395565tr_b_c @ Xs2 @ ( cons_n413985352tr_b_c @ X3 @ nil_no279930520tr_b_c ) ) ) )
       => ( P @ Xs ) ) ) ).

% rev_induct
thf(fact_325_rev__exhaust,axiom,
    ! [Xs: list_char] :
      ( ( Xs != nil_char )
     => ~ ! [Ys3: list_char,Y3: char] :
            ( Xs
           != ( append_char @ Ys3 @ ( cons_char @ Y3 @ nil_char ) ) ) ) ).

% rev_exhaust
thf(fact_326_rev__exhaust,axiom,
    ! [Xs: list_n282880152tr_b_c] :
      ( ( Xs != nil_no279930520tr_b_c )
     => ~ ! [Ys3: list_n282880152tr_b_c,Y3: node_p1234578834tr_b_c] :
            ( Xs
           != ( append846395565tr_b_c @ Ys3 @ ( cons_n413985352tr_b_c @ Y3 @ nil_no279930520tr_b_c ) ) ) ) ).

% rev_exhaust
thf(fact_327_Cons__eq__append__conv,axiom,
    ! [X: char,Xs: list_char,Ys: list_char,Zs2: list_char] :
      ( ( ( cons_char @ X @ Xs )
        = ( append_char @ Ys @ Zs2 ) )
      = ( ( ( Ys = nil_char )
          & ( ( cons_char @ X @ Xs )
            = Zs2 ) )
        | ? [Ys4: list_char] :
            ( ( ( cons_char @ X @ Ys4 )
              = Ys )
            & ( Xs
              = ( append_char @ Ys4 @ Zs2 ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_328_Cons__eq__append__conv,axiom,
    ! [X: node_p1234578834tr_b_c,Xs: list_n282880152tr_b_c,Ys: list_n282880152tr_b_c,Zs2: list_n282880152tr_b_c] :
      ( ( ( cons_n413985352tr_b_c @ X @ Xs )
        = ( append846395565tr_b_c @ Ys @ Zs2 ) )
      = ( ( ( Ys = nil_no279930520tr_b_c )
          & ( ( cons_n413985352tr_b_c @ X @ Xs )
            = Zs2 ) )
        | ? [Ys4: list_n282880152tr_b_c] :
            ( ( ( cons_n413985352tr_b_c @ X @ Ys4 )
              = Ys )
            & ( Xs
              = ( append846395565tr_b_c @ Ys4 @ Zs2 ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_329_append__eq__Cons__conv,axiom,
    ! [Ys: list_char,Zs2: list_char,X: char,Xs: list_char] :
      ( ( ( append_char @ Ys @ Zs2 )
        = ( cons_char @ X @ Xs ) )
      = ( ( ( Ys = nil_char )
          & ( Zs2
            = ( cons_char @ X @ Xs ) ) )
        | ? [Ys4: list_char] :
            ( ( Ys
              = ( cons_char @ X @ Ys4 ) )
            & ( ( append_char @ Ys4 @ Zs2 )
              = Xs ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_330_append__eq__Cons__conv,axiom,
    ! [Ys: list_n282880152tr_b_c,Zs2: list_n282880152tr_b_c,X: node_p1234578834tr_b_c,Xs: list_n282880152tr_b_c] :
      ( ( ( append846395565tr_b_c @ Ys @ Zs2 )
        = ( cons_n413985352tr_b_c @ X @ Xs ) )
      = ( ( ( Ys = nil_no279930520tr_b_c )
          & ( Zs2
            = ( cons_n413985352tr_b_c @ X @ Xs ) ) )
        | ? [Ys4: list_n282880152tr_b_c] :
            ( ( Ys
              = ( cons_n413985352tr_b_c @ X @ Ys4 ) )
            & ( ( append846395565tr_b_c @ Ys4 @ Zs2 )
              = Xs ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_331_rev__nonempty__induct,axiom,
    ! [Xs: list_char,P: list_char > $o] :
      ( ( Xs != nil_char )
     => ( ! [X3: char] : ( P @ ( cons_char @ X3 @ nil_char ) )
       => ( ! [X3: char,Xs2: list_char] :
              ( ( Xs2 != nil_char )
             => ( ( P @ Xs2 )
               => ( P @ ( append_char @ Xs2 @ ( cons_char @ X3 @ nil_char ) ) ) ) )
         => ( P @ Xs ) ) ) ) ).

% rev_nonempty_induct
thf(fact_332_rev__nonempty__induct,axiom,
    ! [Xs: list_n282880152tr_b_c,P: list_n282880152tr_b_c > $o] :
      ( ( Xs != nil_no279930520tr_b_c )
     => ( ! [X3: node_p1234578834tr_b_c] : ( P @ ( cons_n413985352tr_b_c @ X3 @ nil_no279930520tr_b_c ) )
       => ( ! [X3: node_p1234578834tr_b_c,Xs2: list_n282880152tr_b_c] :
              ( ( Xs2 != nil_no279930520tr_b_c )
             => ( ( P @ Xs2 )
               => ( P @ ( append846395565tr_b_c @ Xs2 @ ( cons_n413985352tr_b_c @ X3 @ nil_no279930520tr_b_c ) ) ) ) )
         => ( P @ Xs ) ) ) ) ).

% rev_nonempty_induct
thf(fact_333_eq__Nil__appendI,axiom,
    ! [Xs: list_char,Ys: list_char] :
      ( ( Xs = Ys )
     => ( Xs
        = ( append_char @ nil_char @ Ys ) ) ) ).

% eq_Nil_appendI
thf(fact_334_eq__Nil__appendI,axiom,
    ! [Xs: list_n282880152tr_b_c,Ys: list_n282880152tr_b_c] :
      ( ( Xs = Ys )
     => ( Xs
        = ( append846395565tr_b_c @ nil_no279930520tr_b_c @ Ys ) ) ) ).

% eq_Nil_appendI
thf(fact_335_append__Nil,axiom,
    ! [Ys: list_char] :
      ( ( append_char @ nil_char @ Ys )
      = Ys ) ).

% append_Nil
thf(fact_336_append__Nil,axiom,
    ! [Ys: list_n282880152tr_b_c] :
      ( ( append846395565tr_b_c @ nil_no279930520tr_b_c @ Ys )
      = Ys ) ).

% append_Nil
thf(fact_337_append_Oleft__neutral,axiom,
    ! [A: list_char] :
      ( ( append_char @ nil_char @ A )
      = A ) ).

% append.left_neutral
thf(fact_338_append_Oleft__neutral,axiom,
    ! [A: list_n282880152tr_b_c] :
      ( ( append846395565tr_b_c @ nil_no279930520tr_b_c @ A )
      = A ) ).

% append.left_neutral

% Conjectures (4)
thf(conj_0,hypothesis,
    ( ( docume1070804385_j_k_l @ h )
    = bot_bo1111241908tr_d_e ) ).

thf(conj_1,hypothesis,
    ( h2
    = ( put_O_834343516_j_k_l @ ( cast_d1608273229_b_c_f @ ( docume1511108976tr_d_e @ ( suc @ zero_zero_nat ) ) ) @ ( cast_D1252964113_h_i_l @ ( rObjec1303043984on_j_k @ product_Unity @ ( rDocum427676485on_j_k @ product_Unity @ nil_char @ none_element_ptr_a @ nil_no279930520tr_b_c @ none_S1393028981on_j_k ) ) ) @ h ) ) ).

thf(conj_2,hypothesis,
    type_w92696601_j_k_l @ h ).

thf(conj_3,conjecture,
    is_doc1417632087_j_k_l @ ( cast_D1252964113_h_i_l @ ( rObjec1303043984on_j_k @ product_Unity @ ( rDocum427676485on_j_k @ product_Unity @ nil_char @ none_element_ptr_a @ nil_no279930520tr_b_c @ none_S1393028981on_j_k ) ) ) ).

%------------------------------------------------------------------------------